Java集合框架 看過來
阿新 • • 發佈:2017-10-16
排序 實現類 aik map list shm sed trac htm
集合框架圖
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集合框架 看過來