List Set Map 三種集合的區別

2021-09-11 22:58:23 字數 1018 閱讀 7754

list 、set、map 的關係和區別

list和set是儲存單列資料的集合,map是儲存鍵值對的雙列資料的集合

2.① list集合儲存資料是有序的,保可以新增重複的元素;②map集合存儲資料是無序的,map集合的key是不能重複的,value可以重複;③set集合儲存資料是無順序的但(jdk1.8版本之後好像有序),不儲存重複的元素

1.list介面

1.1arraylist 優點:效率高、查詢快,缺點:增刪慢

1.2linkedlist 優點:鍊錶儲存、增刪快,缺點:查詢慢

1.3vector 優點:安全性高,缺點:效率低、增刪慢、查詢慢

2.map介面

2.1hashmap 提供了最快的訪問技術,沒有按照明顯的順序保定元素

2.2linkedhashmap 按照插入順序儲存鍵,同時還保留了hashmap的查詢速度

2.3treemap 按照比較結果的公升序儲存鍵

3.set介面

3.1hashset 速度最快,沒有明顯的順序儲存元素,集合元素可以是null,但是只能放入乙個null

3.2linkedhashset 按照被新增的順序儲存物件

3.3treeset 按照比較結果公升序儲存物件

arraylist動態擴容的全過程。如果通過無參構造的話,初始陣列容量為0,當真正對陣列進行新增時,才真正分配容量。每次按照1.5倍(位運算)的比率通過copeof的方式擴容。 在jkd1.6中實現是,如果通過無參構造的話,初始陣列容量為10,每次通過copeof的方式擴容後容量為原來的1.5倍,初始陣列容量為10(包括自己定義了陣列容量)當你讓集合裡面新增值的時候,當你加到(初始化陣列容量乘以0.75的時候)這個時候就已經開始擴容了 ,以上就是動態擴容的原理。

list,set,map三種介面的實現類

一,集合框架的體系結構 二,實現類 1 arraylist 底層由陣列實現 元素有序且可以重複 可以動態增長 以滿足應用程式的需求 元素值可以為null 2 hashset 元素無序並且不可以重複 只允許乙個null元素 3 hashmap 鍵不能重複 允許使用null值和鍵 hashmap中的en...

java 集合(list set map)的特點

今天趁有空特意從網上整理資料方便日後回憶。一 list 有順序以線性方式儲存,可以存放重複物件 執行緒安全方法 list list collections.synchronizedlist new linkedlist linkedlist 雙向鍊錶實現儲存 索引資料慢插入數度較快 執行緒不安全 比...

集合遍歷的三種方法

集合的三種遍歷方式 1 for 迴圈遍歷,只適合list集合 for int i 0 i list.size i object obj list.get i system.out.println obj 2 for each 迴圈遍歷,jdk1.5以上使用,只能夠從頭到尾遍歷 for object ...