亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Java集合框架之LinkedHashSet類解讀

 更新時間:2023年09月04日 10:27:24   作者:@六便士  
這篇文章主要介紹了Java集合框架之LinkedHashSet類解讀,LinkedHashSet是HashSet的有序版本,它跨所有元素維護一個雙向鏈接的List,當需要維護迭代順序時,就使用這個類,當遍歷HashSet時,順序是不可預測的,需要的朋友可以參考下

一、LinkedHashSet 類的介紹

LinkedHashSet是HashSet的 有序版本 ,它跨所有元素維護一個雙向鏈接的List。

  • 當需要 維護迭代順序時 ,就使用這個類。
  • 當遍歷HashSet時,順序是不可預測的,而LinkedHashSet允許我們按插入元素的順序遍歷元素。
  • 當使用迭代器循環(huán)使用LinkedHashSet時,元素將按插入的順序返回。

LinkedHashSet的層次結構如下:

在這里插入圖片描述

LinkedHashSet類聲明:

public class LinkedHashSet<E> extends HashSet<E> implements Set<E>, Cloneable, Serializable  

LinkedHashSet類的要點如下:

  • LinkedHashSet類只包含HashSet這樣的唯一元素。
  • LinkedHashSet類提供了所有可選的集操作,并允許有空元素。
  • LinkedHashSet類是非同步的。
  • LinkedHashSet類維護插入順序。

Java LinkedHashSet類的構造函數(shù)

ConstructorDescription
HashSet()它用于構造一個默認的HashSet。
HashSet(Collection c)它使用集合c中的元素來初始化散列集。
LinkedHashSet(int capacity)它用于將鏈接哈希集的容量初始化為給定的整數(shù)值容量。
LinkedHashSet(int capacity, float fillRatio)它用于根據(jù)其參數(shù)初始化散列集的容量和填充比例(也稱為負載容量)。

 二、LinkedHashSet 類的操作

在LinkedHashSet類上執(zhí)行各種操作

2.1 添加操作

為了向LinkedHashSet添加元素,可以使用add()方法。

這與HashSet不同,因為在HashSet中,插入順序不保留,而是保留在LinkedHashSet中。

    public static void main(String[] args) {
        // 創(chuàng)建
        LinkedHashSet<String> hs = new LinkedHashSet<String>();
        // 添加元素
        // 插入是有序的
        hs.add("深圳");
        hs.add("廣州");
        hs.add("東莞");
        // 輸出
        System.out.println("LinkedHashSet : " + hs);
    }

輸出:

LinkedHashSet : [深圳, 廣州, 東莞]

2.2 刪除操作

可以使用remove()方法從LinkedHashSet中刪除這些值。

實例:

    public static void main(String[] args) {
        // 創(chuàng)建
        LinkedHashSet<String> hs = new LinkedHashSet<String>();
        // 添加元素
        // 插入是有序的
        hs.add("深圳");
        hs.add("廣州");
        hs.add("東莞");
        // 輸出
        System.out.println("LinkedHashSet : " + hs);
        // 刪除 元素: 深圳
        hs.remove("廣州");
        System.out.println("刪除后的集合:"+hs);
    }

輸出:

LinkedHashSet : [深圳, 廣州, 東莞]
刪除后的集合:[深圳, 東莞]

2.3 迭代操作

使用iterator()方法迭代LinkedHashSet的元素。

最著名的方法是使用增強的for循環(huán)。

實例:

    public static void main(String[] args) {
        // 創(chuàng)建
        LinkedHashSet<String> hs = new LinkedHashSet<String>();
        // 添加元素
        // 插入是有序的
        hs.add("深圳");
        hs.add("廣州");
        hs.add("東莞");
        // 輸出
        System.out.println("LinkedHashSet : " + hs);
        // 使用迭代器
        Iterator itr = hs.iterator();
        while (itr.hasNext())
            System.out.print(itr.next() + ", ");
        // 換行
        System.out.println();
        // 使用 for-each
        for (String s : hs)
            System.out.print(s + ", ");
        System.out.println();
    }

輸出:

LinkedHashSet : [深圳, 廣州, 東莞]
深圳, 廣州, 東莞, 
深圳, 廣州, 東莞, 

三、LinkedHashSet 類的API

在類java.util.AbstractSet中聲明的方法

METHODDESCRIPTION
equals()用于驗證對象與HashSet是否相等并比較它們。只有當兩個HashSet都包含相同的元素時,該列表才會返回true,無論順序如何。
hashcode()返回此集合的散列代碼值。
removeAll(collection)此方法用于刪除集合中存在于集合中的所有元素。如果該集合因調用而發(fā)生更改,則此方法返回true。

在類java.util.AbstractCollection中聲明的方法

METHODDESCRIPTION
addAll(collection)此方法用于將上述集合中的所有元素追加到現(xiàn)有集合。元素是隨機添加的,不遵循任何特定的順序。
containsAll(collection)此方法用于檢查集合是否包含給定集合中的所有元素。如果集合包含所有元素,則該方法返回true;如果缺少任何元素,則返回false。
retainAll(collection)此方法用于保留集合中給定集合中提到的所有元素。如果該集合因調用而發(fā)生更改,則此方法返回true。
toArray()此方法用于形成與Set的相同元素的數(shù)組。
toString()Java HashSet的toString()方法用于返回HashSet集合元素的字符串表示形式。

接口java.util.Collection中聲明的方法

METHODDESCRIPTION
parallelStream()返回一個可能并行的流,并將此集合作為其源。
removeIf(Predicate<? super E> filter)刪除此集合中滿足給定謂詞的所有元素。
stream()返回一個序列流,并將此集合作為其源。

在類java.util.HashSet中聲明的方法

METHODDESCRIPTION
add(E e)用于添加指定的元素,如果該元素不存在,則返回false。
clear()用于從集合中刪除所有元素。
contains(Object o)用于當元素在set中出現(xiàn)時返回true。
remove(Object o)用于刪除集合中存在的元素。
iterator()用于返回一個遍歷集合中元素的迭代器。
isEmpty()用于檢查集合是否為空。如果為空則返回true,如果set的條件非空則返回false。
size()用于返回集合的大小。
clone()用于創(chuàng)建該集合的淺副本。

接口java.lang.Iterable中聲明的方法

METHODDESCRIPTION
forEach(Consumer action)對Iterable中的每個元素執(zhí)行給定的操作,直到所有元素都被處理完或該操作引發(fā)異常。

到此這篇關于Java集合框架之LinkedHashSet類解讀的文章就介紹到這了,更多相關Java集合LinkedHashSet內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

最新評論