Java中的LinkedHashSet类和示例

作者: Arvin Chen 分类: Java 来源: Break易站(www.breakyizhan.com)

LinkedHashSet是HashSet的有序版本,它在所有元素之间维护一个双向链表。当需要维护迭代顺序时,使用这个类。在遍历HashSet时,顺序是不可预知的,而LinkedHashSet让我们按插入顺序遍历元素。当使用迭代器循环访问LinkedHashSet时,元素将按照插入的顺序返回。

LinkedHashSet句法:

LinkedHashSet <String> hs = new LinkedHashSet <String>();
  • 仅包含HashSet之类的唯一元素。它扩展了HashSet类并实现了Set接口。

LinkedHashSet支持的构造函数的列表:

  1. HashSet():这个构造函数用于创建一个默认的HashSet。
  2. HashSet(collection C):用于使用集合C的元素初始化HashSet
  3. LinkedHashSet(int size): 用于使用参数中提到的整数初始化LinkedHashSet的大小。
  4. LinkedHashSet(int capacity,float fillRatio):可用于初始化容量和填充比率,也可以使用参数中提到的参数来调用LinkedHashSet的加载容量。当元素的数量超过散列集合的容量时,将与填充比率相乘,从而扩展LinkedHashSet的容量

LinkedHashSet的基本添加和遍历操作:

import java.util.LinkedHashSet;  
public class Demo 
{  
    public static void main(String[] args) 
    {  
        LinkedHashSet<String> linkedset = 
                           new LinkedHashSet<String>();  

        // Adding element to LinkedHashSet  
        linkedset.add("A");  
        linkedset.add("B");  
        linkedset.add("C");  
        linkedset.add("D"); 

        // This will not add new element as A already exists 
        linkedset.add("A"); 
        linkedset.add("E");  

        System.out.println("Size of LinkedHashSet = " +
                                    linkedset.size());  
        System.out.println("Original LinkedHashSet:" + linkedset);  
        System.out.println("Removing D from LinkedHashSet: " +
                            linkedset.remove("D"));  
        System.out.println("Trying to Remove Z which is not "+
                            "present: " + linkedset.remove("Z"));  
        System.out.println("Checking if A is present=" + 
                            linkedset.contains("A"));
        System.out.println("Updated LinkedHashSet: " + linkedset);  
    }  
}  

输出:

Size of LinkedHashSet=5
Original LinkedHashSet:[A, B, C, D, E]
Removing D from LinkedHashSet: true
Trying to Remove Z which is not present: false
Checking if A is present=true
Updated LinkedHashSet: [A, B, C, E]

 

  •   本文标题:Java中的LinkedHashSet类和示例 - Break易站
    转载请保留页面地址:https://www.breakyizhan.com/java/4683.html
      微信返利机器人
      免费:淘宝,京东,拼多多优惠券
      腾讯,爱奇艺,优酷的VIP视频免费解析,免费看
      即刻扫描二维码,添加微信机器人!

    发表笔记

    电子邮件地址不会被公开。 必填项已用*标注