您好,登錄后才能下訂單哦!
Java中有幾種集合?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
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的底層數據結構一樣。
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。