java 集合(list set map)的特點

2021-08-03 05:02:51 字數 1036 閱讀 2364

今天趁有空特意從網上整理資料方便日後回憶。

一、list:、有順序以線性方式儲存,可以存放重複物件

執行緒安全方法:list list = collections.synchronizedlist(new linkedlist(...));

linkedlist:雙向鍊錶實現儲存  索引資料慢插入數度較快  執行緒不安全(比安全效能好)

arraylist:陣列方式儲存資料  索引資料快插入資料慢  執行緒不安全

vector:陣列方式儲存資料  索引資料快插入資料慢  執行緒安全

stack:繼承自vector,實現乙個後進先出的堆疊

二、set:無順序,不包含重複的元素

hashset:為快速查詢設計的set。存入hashset的物件必須定義hashcode()。  

treeset: 儲存次序的set, 底層為樹結構。使用它可以從set中提取有序的序列。  

linkedhashset:具有hashset的查詢速度,且內部使用鍊錶維護元素的順序(插入的次序)。於是在使用迭代器遍歷set時,結果會按元素插入的次序顯示。

三、map:鍵必須是唯一

同步方法:map m = collections.synchronizedmap(new treemap(...));

hashtable:基於雜湊表的實現  允許空鍵空值  執行緒安全

hashmap:基於雜湊表的實現  允許空鍵空值  執行緒不安全  (與hashtable基本一致)

treemap: 基於紅黑樹資料結構的實現  不允許空鍵空值  執行緒不安全

weakhashmap:改進的hashmap,它對key實行「弱引用」,如果乙個key不再被外部所引用,那麼該key可以被gc**。

在除需要排序時使用treeset,treemap外,都應使用hashset,hashmap,因為他們的效率更高。

四、sparsearray:採用了二分法方式儲存資料(安卓的乙個集合類)

android系統建議我們用sparsearray來代替hashmap

sparsearray的使用基本與list一樣

**

java學習筆記4 13,List,Set,Map

1.概述 list 列表 集合 list內的元素可以重複,而且是有序排列,預設順序為加入的先後順序,通常支援null元素 set 集 內部元素沒有順序,而且不能重複,通常支援null元素,如果加入的元素在容器內已經有了,則加不進去 map 對映 map容器中的每乙個元素都是以 鍵物件 值物件 的形式...

Java集合 Map集合

map map 用於儲存具有對映關係的資料,因此 map 集合裡儲存著兩組值,一組值用於儲存 map 裡的 key,另外一組用於儲存 map 裡的 value map 中的 key 和 value 都可以是任何引用型別的資料 map 中的 key 不允許重複,即同乙個 map 物件的任何兩個 key...

Java集合 ArrayList集合

以陣列實現。節約空間,但是陣列有容量限制。超出限制時會增加50 容量,用system.arraycopy 複製到新的陣列,因此最好能給出陣列大小的預估值。預設第一次插入元素時建立大小為10 的陣列。按照陣列下標來訪問元素 get i set i,e 的效能很高,這是陣列的基本優勢。直接在陣列末尾加入...