1、集合框架整体关系
2、框架简图:
对于以上的框架图有如下几点说明:
1、所有集合类都位于java.util包下。
2、集合的顶层接口:Collection<E> 下面主要有:三个接口分别是: List 、Set 、Queue
List的主要实现类是:ArrayList 、LinkedList、Vector 、Stack
Set的实现类是:HashSet、LinkedHashSet、TreeSet
List列表是有序的,有下标的,可重复的
Set集合是无序的,但是要把LinkHashSet除外,没有下标,不可重复
Queue是一种队列的数据结构,一个“先进先出”(FIFO)的容器
3、Map和Collection属于同一级别,但是没有依赖关系,是一组键-值对元素
4、迭代器
我们根据第一个图可以看出Collection接口上面扩展了Iterator接口,那么我们就可以知道了,所有Collection接口下面的实现 类,我们都可以通过迭代器去遍历集合中的元素,当然用增强for也可以,因为增强for的底层也是通过迭代器的原理实现的。
在使用迭代器的时候,一定不能改变集合的长度(增加或者删除),每次迭代器都会判断底层的记忆长度是否与实际长度相 等,若不相等就会出现一个并发修改异常ConcarrentModifiCationException,可以在集合中修改元素,但不能改变长度。