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[]){
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());
}
}
}
忽略重复元素的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());
}
}
}
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>
();
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);
hs.add(b1);
hs.add(b2);
hs.add(b3);
for(Book b:hs){
System.out.println(b.id+" "+b.name+" "+b.author+" "+b.publisher+" "+b.quantity);
}
}
}
输出:
101 Let us C Yashwant Kanetkar BPB 8
102 Data Communications & Networking Forouzan Mc Graw Hill 4
103 Operating System Galvin Wiley 6