Sean:有足乐专栏导航zhuanlan.zhihu.com
Java集合概述
Java集合包在java.util包下面,包含了常用的数据结构,包括集合、链表、队列、栈、数组、映射等,主要可以分为4个部分: List列表、Set集合、Map映射、工具类(Iterator迭代器、Enumeration枚举类、Arrays和Collections)
我们通过Javaapi来看一下集合类之间的关系,我们主要关注几个常用的集合类,不包括java.util.concurrent包下的集合类。
Collection是一个接口,是高度抽象 出来的集合,它包含了集合的基本操作。Collection下的List和Set、Queue等。
Map是一个key、value的关系映射集合接口,包含了对map的基本操作。Map下的HashMap、TreeMap、HashTable等
从上面的图中,我们可以很清晰的梳理出各个类、接口之间的关系,方便我们理解。
我们在Collection的类图中提到了Iterator接口,它是迭代器,是个遍历集合的工具。我们说Collection依赖于Iterator,是因为Collection的实现类都要实现iterator()函数,返回一个Iterator对象。 ListIterator是专门为遍历List而存在的。
除此之外,还有Enumeration抽象类,它是JDK 1.0引入的抽象类,作用和Iterator一样,也是遍历集合;但是Enumeration的功能要比Iterator少。在上面的框图中,Enumeration只能在Hashtable, Vector, Stack中使用。
最后,看Arrays和Collections。它们是操作数组、集合的两个工具类,为我们提供了操作集合的一些工具,包括排序、比较等。
--完--