Java中的LinkedHashSet解析
LinkedHashSet
LinkedHashSet用的也比較少,其也是基于Set的實現(xiàn)。
1 LinkedHashSet繼承關(guān)系

和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) {
//調(diào)用HashSet的構(gòu)造方法
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中調(diào)用的父類構(gòu)造器,可以看到其實列是一個LinkedHashMap。
HashSet(int initialCapacity, float loadFactor, boolean dummy) {
map = new LinkedHashMap<>(initialCapacity, loadFactor);
}
LinkedHashSet的實現(xiàn)很簡單,更深入的了解需要去看LinkedHashMap的實現(xiàn),對LinkedHashMap的解析將單獨提出。
到此這篇關(guān)于Java中的LinkedHashSet解析的文章就介紹到這了,更多相關(guān)LinkedHashSet解析內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
java控制臺實現(xiàn)學(xué)生信息管理系統(tǒng)
這篇文章主要為大家詳細介紹了java控制臺實現(xiàn)學(xué)生信息管理系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-02-02
詳解Spring學(xué)習(xí)之聲明式事務(wù)管理
這篇文章主要介紹了詳解Spring學(xué)習(xí)之聲明式事務(wù)管理,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-07-07
SpringSecurity自定義AuthenticationProvider無法@Autowire的解決
這篇文章主要介紹了SpringSecurity自定義AuthenticationProvider無法@Autowire的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-12-12
mybatis-plus?實現(xiàn)查詢表名動態(tài)修改的示例代碼
通過MyBatis-Plus實現(xiàn)表名的動態(tài)替換,根據(jù)配置或入?yún)⑦x擇不同的表,本文主要介紹了mybatis-plus?實現(xiàn)查詢表名動態(tài)修改的示例代碼,具有一定的參考價值,感興趣的可以了解一下2025-03-03
spring?boot微服務(wù)場景下apollo加載過程解析
apollo?是一個開源的配置中心項目,功能很強大,apollo?本身的配置項并不復(fù)雜,但是因為配置的路徑特別多,非常容易搞混了,?所以本文試圖聚焦?spring-boot?的場景,在?spring-boot?微服務(wù)場景下,搞清楚?apollo-client的加載過程2022-02-02
Java聊天室之實現(xiàn)一個服務(wù)器與多個客戶端通信
這篇文章主要為大家詳細介紹了Java簡易聊天室之實現(xiàn)一個服務(wù)器與多個客戶端通信,文中的示例代碼講解詳細,具有一定的借鑒價值,需要的可以了解一下2022-10-10

