码迷,mamicode.com
首页 > 编程语言 > 详细

java 集合框架一

时间:2016-05-12 16:32:43      阅读:135      评论:0      收藏:0      [点我收藏+]

标签:

/*
集合框架:
为什么会出现这么多容器呢?
因为每一个容器对数据的存储方式都有不同。这个存储方式称之为:数据结构。

集合框架如下:

Collection:遍历元素使用迭代器(iterator)
	|--List:有索引、可重复
		|--ArrayList:底层数据结构是数组
		|--LinkedList:底层数据结构是链表
		|--Vector:
	|--Set:无索引、不可重复
		|--HashSet:底层数据结构是哈希表
		|--TreeSet:底层数据结构是二叉树(默认对元素按照自然顺序排序,可新建比较器按照自定义方式排序)

注意:集合中存储的都是对象的引用(地址)。

创建一个集合容器。使用Collection接口的子类。ArrayList
注意,ArrayList中装的都是每个对象的引用(即地址)。
方法add(Object obj)中的参数是Object类型的,这样一来,集合中可以添加任意类型的对象(实际上添加的是对象的引用。)


什么是迭代器:其实就是取出集合元素的迭代方式。
*/

import java.util.*;
class CollectionDemo 
{
	public static void main(String[] args) 
	{
		method_get();
	}

	public static void method_1()
	{
		ArrayList al=new ArrayList();  //al是用来装对象的容器(对象)
		al.add("Hello1");
		al.add("Hello2");
		al.add("Hello3");
		sop("原集合内容:"+al);//原集合
		sop("原集合长度:"+al.size());//原集合的长度
		al.remove("Hello2");//删除一个对象
		sop("删除Hello2后的集合内容:"+al);
		sop("删除Hello2后的集合长度:"+al.size());
		//al.clear();//清空集合
		//sop("清空集合后的结果:"+al.size());
		sop("Hello1是否存在于集合中:"+al.contains("Hello1"));
		al.clear();//清空集合
		sop("集合是否为空:"+al.isEmpty());
		System.out.println("Hello World!");
	}


	public static void method_2()
	{
		ArrayList al1=new ArrayList();  
		al1.add("Hello1");
		al1.add("Hello2");
		al1.add("Hello3");

		ArrayList al2=new ArrayList();
		al2.add("Hello1");
		al2.add("Hello5");
		al2.add("Hello7");

		//al1.retainAll(al2);//al1中只保存与al2中的相同元素。即只保留两者的交集。而al2不改变
		al1.removeAll(al2);//al1中去掉与al2相同的元素。即al1-al2
		sop("al1"+al1);
		sop("al2"+al2);
	}

	public static void method_get()
	{
		ArrayList al1=new ArrayList();  
		al1.add("Hello1");
		al1.add("Hello2");
		al1.add("Hello3");

		//Iterator it=al1.iterator();//获取迭代器,用于取出集合中的元素
		//while(it.hasNext())
		//{
		//	sop(it.next());
		//}
		for(Iterator it=al1.iterator();it.hasNext();)  //这种放在for循环中的是局部代码,在运行完即被释放。而如果像上面那样新建的话就会产生对象占用空间的问题。
		{
			sop(it.next());
		}
	}

	public static void sop(Object obj)
	{
		System.out.println(obj);
	}
}


java 集合框架一

标签:

原文地址:http://blog.csdn.net/iemdm1110/article/details/51361235

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!