第11章 持有对象

容器

Treemap是有序的,依照插入的自然序,HashMap是无序的。对于TreeMap HashMap和LinkedHashMap的差别,请看这篇blog《LinkedHashMap TreeMap的差别》

HashSet TreeSet和LinkedHasSet的差别也对应的Map类似。在此不再赘述。

假设一个类没有显示的生命继承自哪个类,那么它自己主动继承自Object。


ListIterator

ListIterator是一个更强大的Iterator的子类型,它仅仅能用于各种List类型的訪问。ListIterator能够双向移动。它能够使用Set()方法替换它訪问过的最后一个元素。还能够通过调用listIterator(n)方法创建一个一開始就指向列表索引为n的元素处的ListIterator。


LinkedList

LinkedList还加入了能够使其用作栈,队列或爽端队列的方法。


Stack

“栈”通常指后进先出(LIFO)的容器。LinkedList具有可以直接实现栈的全部功能的方法,因此可以直接将LinkedList作为栈使用。只是,有时一个真正的栈更能把事情说清楚。


Set

Set不保存反复元素。Set具有与Collection全然一样的接口,因此没有不论什么额外的功能。仅仅是行为不同。(这是继承和多态思想的典型应用:表现不同的行为)


Map

用来存储关联数据的容器。


Queue

队列是典型的先进先出(FIFO)的容器。即从容器的一端进入事物,从还有一端取出,而且事物放入容器的顺序与取出的顺序同样。队列常被当作一种可靠的将对象从程序的某个区域传输到还有一个区域的途径。队列在并发变成中特别重要。LinkedList提供了方法以支持队列的行为,而且它实现了Queue的接口,因此LinkedList能够看做Queue的一种实现。


PriorityQueue

优先级队列声明下一个弹出元素是最重要的元素。当你在PriorityQueue上调用offer()方法来插入一个对象时,这个对象会在队列中被排序。默认的排序将使用对象在队列中欧你的自然顺序。可是你能够通过提供自己的Comparator来改动这个顺序。


总结:

新程序中不应该使用过时的Vector,HashTable和Stack


原文地址:https://www.cnblogs.com/gcczhongduan/p/4508507.html