一、集合是什么?
Java集合类是一个用来存放对象的容器,它存放于 java.util 包中,其中每一个对象叫元素。
注意:①、集合只能存放对象。比如你存一个 int 型数据 1放入集合中,其实它是自动转换成 Integer 类后存入的,Java中每一种基本类型都有对应的引用类型。
②、集合存放的是多个对象的引用,对象本身还是放在堆内存中。
③、集合可以存放不同类型,不限数量的数据类型。
二、Java 集合框架图
此图来源于:http://blog.csdn.net/u010887744/article/details/50575735
大图可以点此访问:http://img.blog.csdn.net/20160124221843905
三、集合详解
从上图可以看到Map接口和Collection接口是所有集合框架的父接口,Java常用的集合包括List,Set,以及Map。而List,Set和Map都是接口,其中List接口,Set接口是继承了Collection接口,而Map接口是没有继承Collection接口,因为List和Set集合一般放的单个对象,Map放的是键值对,也就是成对的两个对象,键值对就是可以根据一个键值获得对应的一个值,因为Collection不具备这种特点,所以Map并没有继承Collection。
1.先谈谈接口:Collection
Collection是最基本的集合接口,一个Collection代表一组Object,即Collection的元素(Elements),我们看一下Collection接口的使用:
1 //我们这里将 ArrayList集合作为 Collection 的实现类 2 Collection collection = new ArrayList(); 3 4 //添加元素 5 collection.add("AA"); 6 collection.add("BB"); 7 collection.add("CC"); 8 9 //检测是否存在某个元素 10 collection.contains("AA"); 11 12 //删除指定元素 13 collection.remove("AA"); 14 15 //判断是否为空 16 collection.isEmpty(); 17 18 //删除所有元素 19 Collection del = new ArrayList(); 20 del .add("CC"); 21 collection.removeAll(del ); 22 23 //利用增强for循环遍历集合 24 for(Object obj : collection){ 25 System.out.println(obj); 26 } 27 //利用迭代器 Iterator 28 Iterator iterator = collection.iterator(); 29 while(iterator.hasNext()){ 30 Object obj = iterator.next(); 31 System.out.println(obj); 32 }
代码中谈到了Iterator,就先说一下Iterator
(1)Iterator:迭代器,它可以说是Collection分支集合的顶层接口,它的内部封装了三个方法,用来遍历集合:
next():返回迭代器刚越过的元素的引用,返回值是 Object,需要强制转换成自己需要的类型
hasNext():判断容器内是否还有可供访问的元素
remove():删除迭代器刚越过的元素
1 //构造 List 的迭代器 2 Iterator it = list.iterator(); 3 //通过迭代器遍历元素 4 while(it.hasNext()){ //list中是否存在下一个对象 5 Object obj = it.next(); //遍历,并赋值给对象 6 System.out.println(obj);//输出 7 }
原文:https://www.cnblogs.com/zglk/p/10543303.html