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 ...