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);
}
}
}
输出:
101 Let us C Yashwant Kanetkar BPB 8
102 Data Communications & Networking Forouzan Mc Graw Hill 4
103 Operating System Galvin Wiley 6
评论前必须登录!
注册