JDK 1.8集合框架 Map、Set、List、Queue、Stack比較
阿新 • • 發佈:2019-02-11
JDK 1.8集合框架基本架構圖
比較
元件 | 比較 |
---|---|
Map | 1、Map是鍵值對,使用雜湊對映,鍵不能重複,值可以重複。 2、TreeMap可以排列順序,HashMap為無序的。 3、Map中可以將Key和Value單獨抽取出來,其中KeySet()方法可以將所有的keys抽取正一個Set。而Values()方法可以將map中所有的values抽取成一個集合。 |
Set | 1、不重複元素的集合,set中最多包含一個null元素 2、只能用Lterator實現單項遍歷,Set中沒有同步方法。 |
List | 1、有序的可重複集合。 2、可以在任意位置增加刪除元素。 3、用Iterator實現單向遍歷,也可用ListIterator實現雙向遍歷 |
Queue | 1、Queue遵從先進先出原則。 2、使用時儘量避免add()和remove()方法,而是使用offer()來新增元素,使用poll()來移除元素,它的優點是可以通過返回值來判斷是否成功。 3、LinkedList實現了Queue介面。 4、Queue通常不允許插入null元素。 |
Stack | 1、Stack遵從後進先出原則。 2、Stack繼承自Vector。 3、它通過五個操作對類Vector進行擴充套件,允許將向量視為堆疊,它提供了通常的push和pop操作,以及取堆疊頂點的peek()方法、測試堆疊是否為空的empty方法等 |
注:
雜湊對映結構
用法:
如果涉及堆疊,佇列等操作,建議使用List
對於快速插入和刪除元素的,建議使用LinkedList
如果需要快速隨機訪問元素的,建議使用ArrayList