list ,set,map的特點與區別

2021-07-27 06:35:51 字數 648 閱讀 3318

list特點:元素有放入順序,元素可重複

map特點:元素按鍵值對儲存,無放入順序

set特點:元素無放入順序,元素不可重複(注意:元素雖然無放入順序,但是元素在set中的位置是有該元素的hashcode決定的,其位置其實是固定的)

list介面有三個實現類:linkedlist,arraylist,vector

linkedlist:底層基於鍊錶實現,鍊錶記憶體是散亂的,每乙個元素儲存本身記憶體位址的同時還儲存下乙個元素的位址。鍊錶增刪快,查詢慢

arraylist和vector的區別:arraylist是非執行緒安全的,效率高;vector是基於執行緒安全的,效率低

set介面有兩個實現類:hashset(底層由hashmap實現),linkedhashset

sortedset介面有乙個實現類:treeset(底層由平衡二叉樹實現)

query介面有乙個實現類:linklist

map介面有三個實現類:hashmap,hashtable,linkehashmap

hashmap非執行緒安全,高效,支援null;hashtable執行緒安全,低效,不支援null

sortedmap有乙個實現類:treemap

其實最主要的是,list是用來處理序列的,而set是用來處理集的。map是知道的,儲存的是鍵值對

java 集合(list set map)的特點

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

while,do while,for迴圈特點區分

迴圈的必要條件是什麼?1.變數的初始化 2.迴圈條件的判斷 3.迴圈變數的更新。while 迴圈 先判斷後執行,可能出現一次都沒有迴圈的情況 變數的初始化是在迴圈體外,迴圈條件判斷是在while 中進行,而變數的更新是在中進行更新。例如1 script var sum 0 var i 1 var a...

List Set Map 之間的區別

1.可重複。2.可以為空。3.有序容器,保持了每個元素的插入順序,輸出的順序就是插入的順序。常用的實現類有 arraylist linkedlist 和 vector。arraylist 最為流行,它提供了使用索引的隨意訪問,而 linkedlist 則對於經常需要從 list 中新增或刪除元素的場...