1. 程式人生 > >Java集合框架 看過來

Java集合框架 看過來

排序 實現類 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集合框架 看過來