list與Set Map區別及適用場景

2022-02-26 13:36:28 字數 445 閱讀 1996

元素有放入順序,元素可重複 ,set特點:元素無放入順序,元素不可重複,重複元素會覆蓋掉,(注意:元素雖然無放入順序,但是元素在set中的位置是有該元素的hashcode決定的,其位置其實是固定的,加入set 的object必須定義equals()方法 ,另外list支援for迴圈,也就是通過下標來遍歷,也可以用迭代器,但是set只能用迭代,因為他無序,無法用下標來取得想要的值。)

set:檢索元素效率低下,刪除和插入效率高,插入和刪除不會引起元素位置改變。

list:和陣列類似,list可以動態增長,查詢元素效率高,插入刪除元素效率低,因為會引起其他元素位置改變。

5.執行緒安全集合類與非執行緒安全集合類

linkedlist、arraylist、hashset、hashmap、stringbuilder是非執行緒安全的

vector、hashtable、stringbuffer是執行緒安全的。

list與Set Map區別及適用場景

1 list,set都是繼承自collection介面,map則不是 2 list特點 元素有放入順序,元素可重複 set特點 元素無放入順序,元素不可重複,重複元素會覆蓋掉,注意 元素雖然無放入順序,但是元素在set中的位置是有該元素的hashcode決定的,其位置其實是固定的,加入set 的ob...

Java中Set Map和List的區別

在寫專案的時候遇到了去重,用到了set集合的hashset,查閱了資料 2.list 列表 特徵主要是元素以線性方式儲存,可以存放重複物件。檢索list集合中所有元素的方法 由index指定索引位置下標0開始 1 for迴圈和get 方法 for int i 0 ilist 保證維護元素特定的順序。...

C list及list與vector的區別

list是 雙向迴圈鍊錶。在stl中,list和vector一樣,是兩個常被使用的容器。和vector不一樣的是,list不支援對元素的任意訪問。list中提供的成員函式與vector類似,不過list提供對錶首元素的操作push front pop front,這是vector不具備的。和vect...