Java集合框架

2021-08-15 15:42:58 字數 746 閱讀 9082

本文應付面試足夠

1.list、set都繼承collection介面

2.list元素放入有序、可重複,查詢效率高(因為位址連續);

set元素放入無序(位置由hashcode決定,實際固定)、重複會覆蓋,加入set的物件必須定義equals方法以確保物件的唯一性,只可以用迭代器來遍歷,增刪效率高

3.執行緒安全

linkedlist、arraylist、hashset是非執行緒安全的,vector是執行緒安全的;

hashmap是非執行緒安全的,hashtable是執行緒安全的;

stringbuilder是非執行緒安全的,stringbuffer是執行緒安全的。

4.arraylist和linkedlist,前者查詢方便,後者增刪方便,所以不能盲目用arraylist

5.arraylist和vector,都是用陣列實現,後者執行緒安全,可以設定增長因子,在空間不足時,增加空間方式和arraylist不同,所以大資料量用vector有優勢

6.hashset和treeset,前者hashcode實現,最多只能放乙個null,放入其中的物件必須實現hashcode方法,適合快速查詢;後者紅黑樹實現,其中的元素是自動排好序的 ,不可放入null,適合用於排序。

7.hashmap、treemap和linkedhashmap。hashmap基於hashcode,鍊錶解決衝突,8節以後自動化轉化為紅黑樹。treemap採用紅黑樹,適用於按鍵遍歷。linkedhashmap比hashmap多維護乙個雙向鍊錶用以維護加入順序。

java集合框架

集合框架包括集合與對映 collection and map 以及它們的子類 容器類 1 list 元素有先後次序的集合,元素有index位置,元素可以重複,繼承自collection介面,實現類 arraylist,vector,linkedlist 2 set 元素無續,不能重複新增,是數學意義...

java集合框架

框架 為了解決某一特定的問題,預先設計好的一系列具有繼承或實現關係的類的介面。集合裡的三大類 list直接繼承collection 特點 線性,有序 arraylist底層的實現是陣列 使用範圍 當某一陣列在實際應用中大量使用查詢和新增功能的時候用arraylist linkedlist底層的實現是...

java 集合框架

集合一般使用list,set,map首先說下list 1.list一般使用arraylist,linkedlist list的特點有序,重複,那麼arraylist和linkedlist的區別 arraylist插入和刪除資料慢,取值速度快,實際上arraylist是陣列的擴充 linkedlist...