Java集合有哪些?如何選擇使用?


1.單列各個集合底層數據結構和基本性質
一.List集合:(有序,元素可以重復)
1.ArrayList集合:

1).底層數據結構是數組,查找快,增刪慢。

2). 線程不安全,效率高

2.Vector集合:

1) 底層數據結構是數組,查詢快,增刪慢

2)線程安全,效率低

3.LinkedList集合:

1) 底層數據結構是鏈表,查詢慢,增刪快

2)線程不安全,效率高

二、Set集合(元素不可重復,元素唯一)
1.Hashset集合:

1) 底層數據結構是哈希表,哈希表依賴兩個方法hascode ()和equals()方法

2)兩個方法的執行順序:
首先判斷hascode()值是否相同
是:繼續執行equals()方法,看其返回值
是true:說明元素重復,不添加
是false:就直接添加元素
否:就直接添加到集合

2.Treeset集合:

1)底層數據結構是二叉樹

2.雙列各個集合底層數據結構和基本性質

1.java中的Map集合是雙列的,Map集合是Map集合家族的根接口,它有HashMap和TreeMap集合兩個子類。

2.Map集合中只對鍵有效,而對值是無效的。

3.子類的數據結構:

Hashmap:底層數據結構是哈希表,Treemap底層數據結構是二叉樹,其性質和Set的底層數據結構一樣。

3、java中的集合的選擇

根據實際需求來選擇合適的集合。

1.單列還是雙列:

單列就選Collection類型的,雙列選Map類型的

2.選擇單列后看元素是否唯一

是:選擇Set集合

看元素是否排序:

是:TreeSet
否:HashSet

否: 選擇List集合

安全性高低:

高:Vector

低:ArrayList 或LinkedList ’

增刪多:LinkedList
查詢多:ArrayList


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM