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