大家好,我是栗箏i,這篇文章是我的 “栗箏i 的 Java 技術棧” 專欄的第 017 篇文章,在 “栗箏i 的 Java 技術棧” 這個專欄中我會持續為大家更新 Java 技術相關全套技術棧內容。專欄的主要目標是已經有一定 Java 開發經驗,并希望進一步完善自己對整個 Java 技術體系來充實自己的技術棧的同學。與此同時,本專欄的所有文章,也都會準備充足的代碼示例和完善的知識點梳理,因此也十分適合零基礎的小白和要準備工作面試的同學學習。當然,我也會在必要的時候進行相關技術深度的技術解讀,相信即使是擁有多年 Java 開發經驗的從業者和大佬們也會有所收獲并找到樂趣。
–
相較于 List 集合與 Map 集合,Set 集合可以討論的點其實很少,這主要的原因是因為無論是哪一種 Set 集合的實現類其實都是基于 Map 集合的,而如果深究其原理,其實就是去深究 Map 的實現,而我不打算對 Map 的解讀放在 Set 的章節…
當然除了主要實現之外,Set 也是有很多值得我們關注的特點的,比如他的無序性,對并發流、序列化以及非序列化的實現,以及主要實現類 HashSet、TreeSet、LinkedHashSet 三者的區別,只是由于可能真正值得關注的點不是很多,所以我在本系列中將整個 Set 壓縮為了一篇文章。
文章目錄
- 1、Set 集合介紹
- 1.1、Set 接口概述
- 1.2、實現類 HashSet
- 1.3、實現類 TreeSet
- 1.4、實現類 LinkedHashSet
- 1.5、三種 Set 集合對比
- 2、HashSet 底層實現
- 2.1、HashSet 構造函數實現
- 2.2、HashSet 主要方法實現
- 3、TreeSet 底層實現
- 3.1、TreeSet 構造方法實現
- 3.2、TreeSet 特色方法實現
1、Set 集合介紹
1.1、Set 接口概述
Set
是 java.util
包下集合框架中一個接口,它是 Collection
接口的一個子接口,