集合類的優缺點

2021-08-08 21:53:33 字數 745 閱讀 4395

collection介面中有兩個常用的子介面:list(列表),set(集)。

list:可存放重複元素,元素訪問是有序的。

arraylist:底層為陣列結構。查詢速度快。增刪稍慢。執行緒不同步。

linkedlist:底層為鍊錶結構。增刪速度快,查詢稍慢。執行緒不同步

vector:底層為陣列結構。執行緒同步。被arraylist替代了。因為效率低。

set:不可以存放重複元素,元素訪問是無序的

hashset:資料結構是雜湊表。執行緒不同步。hashcode和equals

treeset:可以對set集合中的元素進行排序,資料結構為二叉樹

實現comparable介面,覆蓋compareto(object obj)方法

實現comparator介面,覆蓋compare(object o1,object o2)方法

map:儲存鍵值對,鍵不可以重複,值可以重複。

取出map集合元素的兩種方式方法keyset()和entryset()

hashtable: 資料結構為雜湊表,不可以存入null鍵null值,執行緒同步。

hashmap:資料結構為雜湊表,允許使用 null 值和 null 鍵,執行緒不同步。

treemap:資料結構為二叉樹。執行緒不同步。

用於給map集合中的鍵進行排序(排序方法和treeset一樣,實現comparable和comparator兩個介面即可)。

注:其實set底層就是使用了map集合

java併發集合的優缺點

執行緒池 executorservice exec executors.newfixedthreadpool 100 優點 1 任務分配簡單,任務少的情況下執行效率高 2 執行緒不需要控制,操作簡單 缺點 1 當每個任務執行時間很長的時候,占用的記憶體和cpu較多.2 執行緒不需要控制,操作簡單 時...

java併發集合的優缺點

執行緒池 executorservice exec executors.newfixedthreadpool 100 優點 1 任務分配簡單,任務少的情況下執行效率高 2 執行緒不需要控制,操作簡單 缺點 1 當每個任務執行時間很長的時候,占用的記憶體和cpu較多.2 執行緒不需要控制,操作簡單 推...

iterator for遍歷集合的優缺點

iterator for each 遍歷適合移出元素 for 遍歷適移出元素會報錯 為什麼用iterator刪除元素不拋異常,而用for刪除會拋異常呢?這主要是因為arraylist每次遍歷的時候會去判斷該集合是否被修改過,呼叫的方法是checkforcomodification 如果被修改過con...