
说明:
所有集合类都位于java.util包下。Java的集合类主要由两个接口派生而出:Collection和Map,Collection和Map是Java集合框架的根接口,这两个接口又包含了一些子接口或实现类。
接口用蓝色表示,表示不同集合类型,是集合框架的基础。例如Collection,Map,List,Set,Iterator等。
抽象类用绿色表示,对接口的部分实现。例如AbstractMap,AbstractCollection,AbstractList,AbstractSet等。
实现类用黄色表示,对接口的具体实现。例如ArrayList,linkedList,HashSet,HashMap等。
2 集合类在Java的集合容器框架中,主要有四大类别:List、Set、Queue、Map。
Collection和Map是一个顶层接口,List、Set、Queue继承了Collection接口。
List接口代表数组,允许插入重复的数据,是有序的集合,可以通过索引访问元素。常用实现类有ArrayList和linkedList,还有不常用的Vector。另外,linkedList还实现了Queue接口,因此也可以作为队列使用。
Set接口代表集合,不允许插入重复的数据,是无序的集合。常用实现类有HashSet、linkedHashSet和TreeSet,HashSet是通过Map中的HashMap实现的,linkedHashSet是HashSet的子类,而TreeSet是通过Map中的TreeMap实现的。另外,TreeSet还实现了SortedSet接口,是有序的集合。
Queue接口代表队列,遵循先入先出的原则,只允许在表的前端进行删除操作,而在表的后端进行插入操作。常用实现类有linkedList。
Map接口是一组保存了key-value键值对的对象,属于双列集合,只能根据每个键值对的key访问value。常用实现类有HashMap、linkedHashMap和TreeMap,还有不常用的Hashtable。另外,不常用的HashTable直接实现了Map接口。
3 工具类在集合框架中,除了有集合类之外,还有两个工具类,分别是处理集合的Collections类和处理数组的Arrays类。