📅  最后修改于: 2023-12-03 15:15:56.846000             🧑  作者: Mango
LinkedHashSet
类是Java集合框架提供的一种集合类型,它继承了HashSet
类并实现了Set
接口。LinkedHashSet
类与HashSet
类的不同之处在于,它保留了元素的插入顺序。这种保留顺序的方式是通过链接每个元素的指针实现的,也就是说,LinkedHashSet
是一个链表的结构。由于它使用链表结构而不是哈希表结构,因此LinkedHashSet
的速度不如HashSet
快,但是它允许我们按照元素插入顺序来迭代集合。
LinkedHashSet
是实现了Set
接口的集合类,它继承了HashSet
类。LinkedHashSet
是一个链表的结构,它保留了元素的插入顺序。由于使用链表结构,所以速度不如HashSet
快。LinkedHashSet
允许我们按照元素插入顺序来迭代集合。LinkedHashSet
类有以下的构造方法:
public LinkedHashSet()
: 创建一个空的LinkedHashSet
集合。public LinkedHashSet(Collection<? extends E> c)
: 创建一个包含指定集合中的元素的LinkedHashSet
集合。public LinkedHashSet(int initialCapacity)
: 创建具有指定初始容量的空的LinkedHashSet
集合。public LinkedHashSet(int initialCapacity, float loadFactor)
: 创建具有指定初始容量和负载因子的空的LinkedHashSet
集合。以下是LinkedHashSet
的一些常用操作:
import java.util.LinkedHashSet;
public class LinkedHashSetExample {
public static void main(String[] args) {
// 创建LinkedHashSet对象
LinkedHashSet<String> linkedHashSet = new LinkedHashSet<>();
// 添加元素
linkedHashSet.add("A");
linkedHashSet.add("B");
linkedHashSet.add("C");
linkedHashSet.add("D");
linkedHashSet.add("E");
// 输出元素
System.out.println(linkedHashSet);
// 迭代元素
for (String element : linkedHashSet) {
System.out.println(element);
}
// 判断元素是否存在
System.out.println(linkedHashSet.contains("A"));
// 删除元素
linkedHashSet.remove("D");
// 输出元素
System.out.println(linkedHashSet);
// 清空元素
linkedHashSet.clear();
// 判断元素是否为空
System.out.println(linkedHashSet.isEmpty());
}
}
输出结果:
[A, B, C, D, E]
A
B
C
D
E
true
[A, B, C, E]
true
在这个例子中,我们首先创建了一个LinkedHashSet
对象,并使用add()
方法添加了一些元素。然后,我们使用System.out.println()
打印了整个LinkedHashSet
对象,它保留了元素的插入顺序。接着,我们使用for-each
循环迭代了集合中的所有元素,并使用contains()
方法检查某个元素是否存在于集合中。最后,我们使用remove()
方法删除集合中的一个元素,并使用clear()
方法清空集合。