1. Java集合框架中的所有实例类都实现了Cloneable和Seriablizable接口。所以,它们的实例都是可复制和可序列化的。
2. 规则集存储的是不重复的元素。若要在集合中存储重复的元素,就需要使用线性表。线性表不仅可以存储重复的元素,而且允许用户指定存储的位置。用户可以通过下标来访问线性表中的元素。
3. Java集合支持三种类型的规则集:散列集HashSet、链式散列集LinkedHashSet和树形集TreeSet。HashSet以一个不可预知的顺序存储元素;LinkedHashSet以元素被插入的顺序存储元素;TreeSet存储已经排好序的元素。HashSet、LinkedHashSet和TreeSet中的所有方法都继承自Collection接口。
4. Java集合框架支持两种类型的线性表:数组线性表ArrayList和链表LinkedList。ArrayList是实现List接口的可变大小数组。ArrayList中的所有方法都是在List接口中定义的。LinkedList是实现List接口的一个链表。除了实现了List接口,该类还提供了可从线性表两端提取、插入、删除元素的方法。
5. Vector类实现了List接口。在Java 2中,Vector类和ArrayList是一样的,所不同的是它所包含的访问和修改向量的方法是同步的。Stack类扩展了Vector类,并且提供了几种对栈进行操作的方法。
6. Queue接口表示队列。PriorityQueue类为优先队列实现Queue接口。
7. Collection接口表示存储在规则集或线性表中元素的集合。Map接口将键值映射到元素,键值类似于下标。在List中,下标是整数。而在Map中,键值可以使任意类型的对象。图中不能包含重复的键值。一个键值至多可以对应一个值。Map接口提供了查询、更新、获取值集合和键值集合的方法。
8. Java集合框架支持三种类型的图:散列图:HashMap、链式散列图:LinkedHashMap和树形图TreeMap。对于定位一个值、插入一个映射和删除一个映射而言,HashMap是很高效的。LinkedHashMap支持图中的条目排序。HashMap类中的条目是没有顺序的,但LinkedHashMap中的条目可以按照某种顺序来获取,该顺序既可以是它们被插入图中的顺序(成为插入顺序),也可以是它们最后一次被访问的顺序,从最早到最晚(称为访问顺序)。对于遍历排好序的键值,TreeMap是高效的。键值可以使用Comparable接口来排序,也可以使用Comparator接口来排序。