Java.util 包提供了集合类(也称容器类)
Java集合主要有4个部分:
- List列表
- Set集合
- Map映射
- 工具类(Iterator迭代器、Enumeration枚举类、Arrays和Collections)
这个图乱的一批o_o …
emmmm大致可以看出,上面有三巨头,即Iterator、Collection、Map(虚线框是接口,实线框是类),Java的集合类主要就是由Collection和Map两个接口派生而出,而Iterator主要起的是遍历器的作用。
先说Collection
Collection包含了集的基本操作和属性的高度抽象的接口(所以才能派生出那么多的子类和子接口嘛
Collection包含了List和Set两大分支,至于Queue嘛,比较单纯,比较类似于List。
- List:是一个有序的队列,实现类有4个:LinkedList、ArrayList、Vector、Stack
- Set:是一个不允许由重复元素(这个重复的判定有点坑)的集合,实现类有3个:TreeSet、HashSet、LinkHashSet。
再说说Map
Map是一个映射接口,即key-value键值对
- AbtractMap是个抽象类,它实现了Map接口中大部分的API。实现类有6个:TreeMap、HashMap、LinkHashMap、IdentityHashMap、WeakHashMap、HashTable
- SortedMap是继承Map的接口。内容是排序的键值对,通过比较器(Comparator)
最后是Iterator
Iterator是遍历集合的工具,即我们通常通过Iterator迭代器来遍历集合。
最后附上一张集合总体框架各个类的使用场景