标签:
/* 集合框架: 为什么会出现这么多容器呢? 因为每一个容器对数据的存储方式都有不同。这个存储方式称之为:数据结构。 集合框架如下: 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); } }
标签:
原文地址:http://blog.csdn.net/iemdm1110/article/details/51361235