java集合主要有3種:set(集)、list(列表)和map(映射)。
一、List集合:(有序,元素可以重複)
#List裡存放的物件是有順序的,同時也是可以重複的,List關注的是索引,擁有一系列和索引相關的方法,查詢速度快。因為往list集合裡插入或刪除資料時,會伴隨著後面資料的移動,所有插入刪除資料速度都慢。
1、ArrayList集合:
1)、底層資料結構是數組,查找快,增刪慢。
2)、執行緒不安全,效率高
2、Vector集合:
1) 底層資料結構是數組,查詢快,增刪慢
2)執行緒安全,效率低
3、LinkedList集合:
1) 底層資料結構是鍊錶,查詢慢,增刪快
2)執行緒不安全,效率高
二、Set集合(元素不可重複,元素唯一)
Set裡存放的物件是無序,不能重複的,集合中的物件不按特定的方式排序,只是簡單地把物件加入集合中。
1、Hashset集合:
1) 底層資料結構是雜湊表,雜湊表依賴兩個方法hascode ()和equals()方法
2)兩個方法的執行順序:
先判斷hascode()值是否相同
是:繼續執行equals()方法,看其傳回值
是true:說明元素重複,不加入
是false:就直接加入元素
#否:就直接加入集合
2、Treeset集合:
1)底層資料結構是在二元樹
#三、Map集合
Map集合中儲存的是鍵值對,鍵不能重複,值可以重複。根據鍵得到值,對map集合遍歷時先得到鍵的set集合,對set集合進行遍歷,得到對應的值。
1、Map集合是Map集合家族的根接口,它有HashMap和TreeMap集合兩個子類別。
2、Map集合中只對鍵有效,而對值是無效的。
3、子類別的資料結構:
Hashmap:底層資料結構是雜湊表,Treemap底層資料結構是二元樹,其性質和Set的底層資料結構一樣。
推薦教學:Java教學
以上是Java集合有哪些?的詳細內容。更多資訊請關注PHP中文網其他相關文章!