Java LinkedHashSet类

Java LinkedHashSet类

文章图片
Java LinkedHashSet类是set接口的Hashtable和Linked list实现。它继承了HashSet类并实现Set接口。
关于Java LinkedHashSet类的要点是:
  • Java LinkedHashSet类仅包含唯一元素, 例如HashSet。
  • Java LinkedHashSet类提供所有可选的set操作, 并允许空元素。
  • Java LinkedHashSet类未同步。
  • Java LinkedHashSet类维护插入顺序。
LinkedHashSet类的层次结构 LinkedHashSet类扩展了实现Set接口的HashSet类。 Set接口以层次结构顺序继承Collection和Iterable接口。
LinkedHashSet类声明
我们来看一下java.util.LinkedHashSet类的声明。
public class LinkedHashSet< E> extends HashSet< E> implements Set< E> , Cloneable, Serializable

Java LinkedHashSet类的构造方法
建设者 描述
HashSet() 它用于构造默认的HashSet。
HashSet(Collection c) 它用于通过使用集合c的元素来初始化哈希集。
LinkedHashSet(int capacity) 它用于将链接的哈希集的容量初始化为给定的整数容量。
LinkedHashSet(int capacity, float fillRatio) 它用于根据其参数初始化哈希集的容量和填充率(也称为负载容量)。
Java LinkedHashSet示例
让我们看一下Java LinkedHashSet类的简单示例。在这里, 你会注意到元素按插入顺序进行迭代。
import java.util.*; class LinkedHashSet1{ public static void main(String args[]){ //Creating HashSet and adding elements LinkedHashSet< String> set=new LinkedHashSet(); set.add("One"); set.add("Two"); set.add("Three"); set.add("Four"); set.add("Five"); Iterator< String> i=set.iterator(); while(i.hasNext()) { System.out.println(i.next()); } } }

One Two Three Four Five

Java LinkedHashSet示例忽略重复的元素
import java.util.*; class LinkedHashSet2{ public static void main(String args[]){ LinkedHashSet< String> al=new LinkedHashSet< String> (); al.add("Ravi"); al.add("Vijay"); al.add("Ravi"); al.add("Ajay"); Iterator< String> itr=al.iterator(); while(itr.hasNext()){ System.out.println(itr.next()); } } }

Ravi Vijay Ajay

Java LinkedHashSet示例:书籍
import java.util.*; class Book { int id; String name, author, publisher; int quantity; public Book(int id, String name, String author, String publisher, int quantity) { this.id = id; this.name = name; this.author = author; this.publisher = publisher; this.quantity = quantity; } } public class LinkedHashSetExample { public static void main(String[] args) { LinkedHashSet< Book> hs=new LinkedHashSet< Book> (); //Creating Books Book b1=new Book(101, "Let us C", "Yashwant Kanetkar", "BPB", 8); Book b2=new Book(102, "Data Communications & Networking", "Forouzan", "Mc Graw Hill", 4); Book b3=new Book(103, "Operating System", "Galvin", "Wiley", 6); //Adding Books to hash table hs.add(b1); hs.add(b2); hs.add(b3); //Traversing hash table for(Book b:hs){ System.out.println(b.id+" "+b.name+" "+b.author+" "+b.publisher+" "+b.quantity); } } }

【Java LinkedHashSet类】输出:
101 Let us C Yashwant Kanetkar BPB 8 102 Data Communications & Networking Forouzan Mc Graw Hill 4 103 Operating System Galvin Wiley 6

    推荐阅读