Java中的LinkedHashSet解析
LinkedHashSet
LinkedHashSet用的也比較少,其也是基于Set的實現(xiàn)。
1 LinkedHashSet繼承關系
和HashSet一樣,其也是Set接口的實現(xiàn)類,并且是HashSet的子類。
2 LinkedHashSet源碼
package java.util; public class LinkedHashSet<E> extends HashSet<E> implements Set<E>, Cloneable, java.io.Serializable { private static final long serialVersionUID = -2851667679971038690L; public LinkedHashSet(int initialCapacity, float loadFactor) { //調用HashSet的構造方法 super(initialCapacity, loadFactor, true); } public LinkedHashSet(int initialCapacity) { super(initialCapacity, .75f, true); } public LinkedHashSet() { super(16, .75f, true); } public LinkedHashSet(Collection<? extends E> c) { super(Math.max(2*c.size(), 11), .75f, true); addAll(c); } @Override public Spliterator<E> spliterator() { return Spliterators.spliterator(this, Spliterator.DISTINCT | Spliterator.ORDERED); } }
其操作方法和HashSet完全一樣,那么二者區(qū)別是什么呢?
1.首先LinkedHashSet是HashSet的子類。
2.LinkedHashSet中用于存儲值的實現(xiàn)LinkedHashMap,而HashSet使用的是HashMap。LinkedHashSet中調用的父類構造器,可以看到其實列是一個LinkedHashMap。
HashSet(int initialCapacity, float loadFactor, boolean dummy) { map = new LinkedHashMap<>(initialCapacity, loadFactor); }
LinkedHashSet的實現(xiàn)很簡單,更深入的了解需要去看LinkedHashMap的實現(xiàn),對LinkedHashMap的解析將單獨提出。
到此這篇關于Java中的LinkedHashSet解析的文章就介紹到這了,更多相關LinkedHashSet解析內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
SpringBoot集成logback打印彩色日志的代碼實現(xiàn)
Logback是由log4j創(chuàng)始人設計的另一個開源日志組件,默認情況下,Spring?Boot會用Logback來記錄日志,并用INFO級別輸出到控制臺,本文給大家介紹了SpringBoot集成logback打印彩色日志,需要的朋友可以參考下2024-03-03SpringBoot利用自定義json序列化器實現(xiàn)敏感字段數(shù)據(jù)脫敏詳解
這篇文章主要介紹了SpringBoot利用自定義json序列化器實現(xiàn)敏感字段數(shù)據(jù)脫敏詳解,因為案例代碼用到了hutool提供的DesensitizedUtil數(shù)據(jù)脫敏工具類,這里要引入hutool的依賴,如果你需要自定義 數(shù)據(jù)脫敏的邏輯,可以不引入這個依賴,需要的朋友可以參考下2024-01-01java實現(xiàn)對excel文件的處理合并單元格的操作
這篇文章主要介紹了java實現(xiàn)對excel文件的處理合并單元格的操作,開頭給大家介紹了依賴引入代碼,表格操作的核心代碼,代碼超級簡單,需要的朋友可以參考下2021-07-07在SpringBoot中無縫整合Dubbo的實現(xiàn)過程
微服務架構已經(jīng)成為現(xiàn)代應用開發(fā)的熱門趨勢,而Dubbo作為一款強大的分布式服務框架,與Spring?Boot的結合是構建高性能微服務應用的理想選擇,本文將詳細介紹如何在SpringBoot中無縫整合Dubbo,需要的朋友可以參考下2024-01-01