java集合分類大全
來源:互聯網
上載者:User
List: 實現List介面的常用類有LinkedList,ArrayList,Vector和Stack。ArrayList,LinkedList是不同步的,而Vestor是同步的。 ArrayList是List的子類,允許存放重複元素,有序。集合中元素被訪問的順序取決於集合的類型。如果對 ArrayList進行訪問,迭代器將從索引0開始,每迭代一次,索引值加1(查詢快) LinkedList是一種可以在任何位置進行高效地插入和刪除操作的有序序列。允許null元素,LinkedList使用雙向鏈表實現儲存(增刪改快) VectorVector由於使用了synchronized方法(安全執行緒)所以效能上比ArrayList要差(安全,效能差) Set: HashSet是Set介面的一個子類,主要的特點是:裡面不能存放重複元素,而且採用散列的儲存方法,所以沒有順序。這裡所說的沒有順序是指:元素插入的順序與輸出的順序不一致。不是同步的,集合元素可以是null,但只能放入一個null TreeSet:有序, LinkedHashSet:當遍曆該集合時候,LinkedHashSet將會以元素的添加順序訪問集合的元素。 LinkedHashSet在迭代訪問Set中的全部元素時,效能比HashSet好,但是插入時效能稍微遜色於HashSet。 Map: TreeMap:有序 Hashtable:單向鏈的二維數組,value不可為空,安全執行緒的,所有方法均用synchronized修飾 與 HashMap類似,它繼承自Dictionary類,不同的是:它不允許記錄的鍵或者值為空白(安全慢) HashMap:可以放入空值,按插入的順序儲存,線程不安全,最多隻允許一條記錄的鍵為Null;允 許多條記錄的值為 Null; LinkedHashMap:存了記錄的插入順序,如果需要輸出的順序和輸入的相同,那麼用LinkedHashMap可以實現,它還可以按讀取順序來排列,像串連池中可以應 用。 ConcurrentHashMap:安全執行緒的,用於替代HashTable,採用分段加鎖的方式實現,提升了效率