1.Collection的接口和实现类:
* List:
* ArrayList 数组实现的索引列表 (在非同步情况下取代Vector)
* LinkedList 在任何位置可以实现高效的插入和删除操作的有序列表
* Vector 可动态改变容量的数组
* Stack 堆栈
*
* Set:
* HashSet 无序的无重复的集
* TreeSet 有序的无重复的集
* EnumSet 包含枚举类型值的集
* LinkedHashSet可以记住元素插入次序的无重复的集
* Queue:
* PriorityQueue优先队列
* ArrayDeque 数组实现的有序的双端队列
2.Map的接口和实现类
* HashMap 无序的可以插入null的键值对映射表
* TreeMap 对于健值的自然顺序排序的map,不是同步的,可用
SortedMap m = Collections.synchronizedSortedMap(new TreeMap(...));
* EnumMap 包含枚举类型值的映射表
* LinkedHashMap可以记住键值对插入次序的映射表,按照添加顺序存储,可以按添加顺序取出,
不是同步的,可用Collections.synchronized()封装:
Map m = Collections.synchronizedMap(new LinkedHashMap(...));* WeakHashMap 一种其值无用武之地后可以被垃圾回收器收集的映射表
* IdentityHashMap 用==,而不是用equals的映射表
3.HashMap 和HashTable
除了非同步和允许使用 null 之外,HashMap 类与 Hashtable 大致相同。
a.HashMap:非同步,允许使用null;
b.HashTable:同步,不允许使用null;
4.视图对象:具有限制的集合对象
* List<Integer> list = Arrays.asList(int[] a);
* 可以进行List的操作,但不能对原有数组进行操作(list 和 a 并不指向同一个对象)