文章图片
Java LinkedHashSet类是set接口的Hashtable和Linked list实现。它继承了HashSet类并实现Set接口。
关于Java LinkedHashSet类的要点是:
- Java LinkedHashSet类仅包含唯一元素, 例如HashSet。
- Java LinkedHashSet类提供所有可选的set操作, 并允许空元素。
- Java LinkedHashSet类未同步。
- Java LinkedHashSet类维护插入顺序。
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类的简单示例。在这里, 你会注意到元素按插入顺序进行迭代。
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
推荐阅读
- 电脑密码如何查看? 本文教你查看办法
- Java LinkedHashMap类
- Java Hashtable类
- Java HashSet
- Java HashMap类
- Java EnumSet类
- Java EnumMap类
- Java Deque接口
- Java Collections类