arraylist
arraylist是乙個動態陣列,也是我們最常用的集合。它允許任何符合規則的元素插入甚至包括null。每乙個arraylist都有乙個初始容量(10),該容量代表了陣列的大小。隨著容器中的元素不斷增加,容器的大小也會隨著增加。在每次向容器中增加元素的同時都會進行容量檢查,當快溢位時,就會進行擴容操作。所以如果我們明確所插入元素的多少,最好指定乙個初始容量值,避免過多的進行擴容操作而浪費時間、效率。
hashset
hashset 是乙個沒有重複元素的集合。它是由hashmap實現的,不保證元素的順序(這裡所說的沒有順序是指:元素插入的順序與輸出的順序不一致),而且hashset允許使用null 元素。hashset是非同步的,如果多個執行緒同時訪問乙個雜湊set,而其中至少乙個執行緒修改了該set,那麼它必須保持外部同步。 hashset按hash演算法來儲存集合的元素,因此具有很好的訪問和查詢效能。
hashset的實現方式大致如下,通過乙個hashmap儲存元素,元素是存放在hashmap的key中,而value統一使用乙個object物件。
treemap
treemap 是乙個有序的key-value集合,非同步,基於紅黑樹(red-black tree)實現,每乙個key-value節點作為紅黑樹的乙個節點。treemap儲存時會進行排序的,會根據key來對key-value鍵值對進行排序,其中排序方式也是分為兩種,一種是自然排序,一種是定製排序,具體取決於使用的構造方法。
java集合框架
集合框架包括集合與對映 collection and map 以及它們的子類 容器類 1 list 元素有先後次序的集合,元素有index位置,元素可以重複,繼承自collection介面,實現類 arraylist,vector,linkedlist 2 set 元素無續,不能重複新增,是數學意義...
java集合框架
框架 為了解決某一特定的問題,預先設計好的一系列具有繼承或實現關係的類的介面。集合裡的三大類 list直接繼承collection 特點 線性,有序 arraylist底層的實現是陣列 使用範圍 當某一陣列在實際應用中大量使用查詢和新增功能的時候用arraylist linkedlist底層的實現是...
java 集合框架
集合一般使用list,set,map首先說下list 1.list一般使用arraylist,linkedlist list的特點有序,重複,那麼arraylist和linkedlist的區別 arraylist插入和刪除資料慢,取值速度快,實際上arraylist是陣列的擴充 linkedlist...