您的位置:首页 > 其它

集合框架复习之集合框架层次体系结构(一)

2016-04-11 09:03 267 查看
在Java集合框架中定义的所有接口和类都存储在java.util包中,并且集合框架中的所有具体类都实现了java.lang.Cloneable和java.io.Serializable接口,即它们的实例都是可复制并可序列化的。

集合框架大体的体系结构如下,省略了具体的便利类,如AbstractCollection,AbstractSet等。

Java Collections Framework(Java集合框架)

—collection((接口)集合:为了存储一个元素集合)

——Set((接口)规则集,它的实例用于存储一组不重复的元素)

————HashSet(散列集)

——————LinkedHashSet(链式散列集)

————TreeSet(树形集)

——List((接口)线性表接口,它的实例用于存储一个由元素构成的有序集合)

————ArrayList(数组线性表类)

————LinkedList(链表类)

————Vector(向量类)

——————Stack(栈类扩展了Vector类)

——Queue((接口)队列,它的实例用于存储用先进先出方式处理的对象)

————Deque((接口)双端队列,是“double ended queue(双端队列)”的缩写,一个线性 collection,支持在两端插入和移除元素)

——————LinkedList(注意这个类,也就是说它既实现了List,又实现了Deque,所以我们可以用LinkedList创建一个队列)

——————ArrayDeque(Deque接口的大小可变数组的实现类)

————BlockingDeque((接口)阻塞双端队列)

——————LinkedBlockingDeque(一个基于已链接节点的、任选范围的阻塞双端队列类)

————BlockingQueue((接口)阻塞队列)

——————LinkedBlockingDeque(这个类既实现了BlockingDeque,又实现了BlockingQueue)

——————ArrayBlockingQueue(一个由数组支持的有界阻塞队列)

——————LinkedBlockingQueue(一个基于已链接节点的、范围任意的阻塞队列)

——————PriorityBlockingQueue(优先阻塞队列,一个无界阻塞队列,它使用与类PriorityQueue相同的顺序规则,并且提供了阻塞获取操作)

——————SynchronousQueue(同步队列,一种阻塞队列,其中每个插入操作必须等待另一个线程的对应移除操作 ,反之亦然)

——————DelayQueue(Delayed 元素的一个无界阻塞队列,只有在延迟期满时才能从中提取元素)

————PriorityQueue(一个基于优先级堆的无界优先级队列)

—map((接口)图:存储键/值对)

————HashMap(基于哈希表的 Map 接口的实现。此实现提供所有可选的映射操作,并允许使用null 值和null 键)

——————LinkedHashMap(Map 接口的哈希表和链接列表实现,具有可预知的迭代顺序)

————TreeMap(基于红黑树(Red-Black tree)的NavigableMap(扩展的SortedMap)实现。该映射根据其键的自然顺序进行排序,或者根据创建映射时提供的Comparator进行排序,具体取决于使用的构造方法)

————HashTable(此类实现一个哈希表,该哈希表将键映射到相应的值。任何非
null
对象都可以用作键或值)

对于规则集和线性表,规则集比线性表更高效。如果我们不需要重复,那就选择规则集,如果不仅不需要重复,而且不需要特别的顺序,就选散列集
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: