欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java中的LinkedHashSet解析

 更新時(shí)間:2023年11月01日 08:47:40   作者:興趣使然的程序猿  
這篇文章主要介紹了Java中的LinkedHashSet解析,與HashSet不同的是,LinkedHashSet在內(nèi)部使用了一個(gè)雙向鏈表來維護(hù)元素的順序,因此它可以保持元素的插入順序,這使得LinkedHashSet在需要保持元素順序的場(chǎng)景下非常有用,需要的朋友可以參考下

LinkedHashSet

LinkedHashSet用的也比較少,其也是基于Set的實(shí)現(xiàn)。

1 LinkedHashSet繼承關(guān)系

在這里插入圖片描述

和HashSet一樣,其也是Set接口的實(shí)現(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中用于存儲(chǔ)值的實(shí)現(xiàn)LinkedHashMap,而HashSet使用的是HashMap。LinkedHashSet中調(diào)用的父類構(gòu)造器,可以看到其實(shí)列是一個(gè)LinkedHashMap。

HashSet(int initialCapacity, float loadFactor, boolean dummy) {
    map = new LinkedHashMap<>(initialCapacity, loadFactor);
}

LinkedHashSet的實(shí)現(xiàn)很簡(jiǎn)單,更深入的了解需要去看LinkedHashMap的實(shí)現(xiàn),對(duì)LinkedHashMap的解析將單獨(dú)提出。

到此這篇關(guān)于Java中的LinkedHashSet解析的文章就介紹到這了,更多相關(guān)LinkedHashSet解析內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • SpringBoot集成logback打印彩色日志的代碼實(shí)現(xiàn)

    SpringBoot集成logback打印彩色日志的代碼實(shí)現(xiàn)

    Logback是由log4j創(chuàng)始人設(shè)計(jì)的另一個(gè)開源日志組件,默認(rèn)情況下,Spring?Boot會(huì)用Logback來記錄日志,并用INFO級(jí)別輸出到控制臺(tái),本文給大家介紹了SpringBoot集成logback打印彩色日志,需要的朋友可以參考下
    2024-03-03
  • java中對(duì)象和Map互相轉(zhuǎn)換的幾種常見方式舉例

    java中對(duì)象和Map互相轉(zhuǎn)換的幾種常見方式舉例

    Map在日常開發(fā)應(yīng)用中的頻率很高,最常用的實(shí)現(xiàn)類是HashMap和有序的TreeMap,下面這篇文章主要給大家介紹了關(guān)于java中對(duì)象和Map互相轉(zhuǎn)換的幾種常見方式舉例,需要的朋友可以參考下
    2024-01-01
  • spring security CSRF防護(hù)的示例代碼

    spring security CSRF防護(hù)的示例代碼

    這篇文章主要介紹了spring security CSRF防護(hù)的示例代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-03-03
  • SpringBoot利用自定義json序列化器實(shí)現(xiàn)敏感字段數(shù)據(jù)脫敏詳解

    SpringBoot利用自定義json序列化器實(shí)現(xiàn)敏感字段數(shù)據(jù)脫敏詳解

    這篇文章主要介紹了SpringBoot利用自定義json序列化器實(shí)現(xiàn)敏感字段數(shù)據(jù)脫敏詳解,因?yàn)榘咐a用到了hutool提供的DesensitizedUtil數(shù)據(jù)脫敏工具類,這里要引入hutool的依賴,如果你需要自定義 數(shù)據(jù)脫敏的邏輯,可以不引入這個(gè)依賴,需要的朋友可以參考下
    2024-01-01
  • java實(shí)現(xiàn)對(duì)excel文件的處理合并單元格的操作

    java實(shí)現(xiàn)對(duì)excel文件的處理合并單元格的操作

    這篇文章主要介紹了java實(shí)現(xiàn)對(duì)excel文件的處理合并單元格的操作,開頭給大家介紹了依賴引入代碼,表格操作的核心代碼,代碼超級(jí)簡(jiǎn)單,需要的朋友可以參考下
    2021-07-07
  • springboot?yml配置文件值注入方式

    springboot?yml配置文件值注入方式

    這篇文章主要介紹了springboot?yml配置文件值注入方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-01-01
  • Java wait和notify虛假喚醒原理

    Java wait和notify虛假喚醒原理

    這篇文章主要介紹了Java wait和notify虛假喚醒,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-04-04
  • 解決springboot啟動(dòng)成功,但訪問404的問題

    解決springboot啟動(dòng)成功,但訪問404的問題

    這篇文章主要介紹了解決springboot啟動(dòng)成功,但訪問404的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • 手把手教你SpringBoot整合Mybatis

    手把手教你SpringBoot整合Mybatis

    這篇文章主要介紹了手把手教你SpringBoot整合Mybatis,Mybatis是一款持久化框架,可以幫我們省去大部分jdbc的代碼,需要的朋友可以參考下
    2023-03-03
  • 在SpringBoot中無(wú)縫整合Dubbo的實(shí)現(xiàn)過程

    在SpringBoot中無(wú)縫整合Dubbo的實(shí)現(xiàn)過程

    微服務(wù)架構(gòu)已經(jīng)成為現(xiàn)代應(yīng)用開發(fā)的熱門趨勢(shì),而Dubbo作為一款強(qiáng)大的分布式服務(wù)框架,與Spring?Boot的結(jié)合是構(gòu)建高性能微服務(wù)應(yīng)用的理想選擇,本文將詳細(xì)介紹如何在SpringBoot中無(wú)縫整合Dubbo,需要的朋友可以參考下
    2024-01-01

最新評(píng)論