標籤:查詢 rac linked class 資料結構 treeset 方法 狀態 之間
集合架構圖
Collection介面提供了一組操作成批對象的方法,它提供了基本操作如添加、刪除。
List
List的最重要的特徵就是有序;它會確保以一定的順序儲存元素。
- ArrayList:一個用數組實現的List。能進行快速的隨機訪問,但是往列表中間插入和刪除元素的時候比較慢。
- LinkedList:對順序訪問進行了最佳化。在List中間插入和刪除元素的代價也不高。隨機訪問的速度相對較慢。常用作棧、隊列的實現。
Set
Set中的對象元素不能重複。
- HashSet:為最佳化查詢速度而設計的Set,設定散列函數實現索引。要放進HashSet裡面的Object還得定義hashCode()。
- LinkedHashSet集合約樣是根據元素的hashCode值來決定元素的儲存位置,但是它同時使用鏈表維護元素的次序。
- TreeSet是SortedSet介面的唯一實作類別,利用紅/黑樹狀結構實現排序,TreeSet可以確保集合元素處於排序狀態。
Map
索引值對。
- HashMap:基於hash表的實現,對鍵建立散列值的數組。
與hashtable之間的不同
1.繼承不同
public class Hashtable extends Dictionary implements Map
public class HashMap extends AbstractMap implements Map
2.Hashtable 中的方法是同步的,而HashMap中的方法在預設情況下是非同步的。在多線程並發的環境下,可以直接使用Hashtable。
3.雜湊值的使用不同,HashTable直接使用對象的hashCode。而HashMap重新計算hash值。
- LinkedHashMap:很像HashMap,但是用Iterator進行遍曆的時候,它會按插入順序或最先使用的順序(least-recently-used(LRU)order)進行訪問。
- TreeMap:基於紅/黑樹狀結構資料結構的實現。
Java集合架構 看過來