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

Java中的LinkedHashSet解析

 更新時間:2023年11月01日 08:47:40   作者:興趣使然的程序猿  
這篇文章主要介紹了Java中的LinkedHashSet解析,與HashSet不同的是,LinkedHashSet在內(nèi)部使用了一個雙向鏈表來維護元素的順序,因此它可以保持元素的插入順序,這使得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)文章

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

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

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

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

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

    spring security CSRF防護的示例代碼

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

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

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

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

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

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

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

    Java wait和notify虛假喚醒原理

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

    解決springboot啟動成功,但訪問404的問題

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

    手把手教你SpringBoot整合Mybatis

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

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

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

最新評論