Java 中 LinkedList 和 LinkedHashSet 的区别
java 8object oriented programmingprogramming更新于 2025/11/25 18:20:17
LinkedList 和 LinkedHashSet 都是 Java Collection 框架中最重要的类之一。
以下是 LinkedList 和 LinkedHashSet 之间的重要区别。
| Sr.不。 | 关键 | LinkedList | LinkedHashSet |
|---|---|---|---|
| 1 | 实现 | LinkedList 是 list 和 deque 接口的实现。 | 另一方面,LinkedHashSet 是 set 接口的实现,它继承自 Hashset 类。 |
| 2 | 内部实现 | LinkedList 内部实现,或者说使用双向链表来存储元素。 | 另一方面,LinkedHashSet 内部使用 LinkedHashMap 来存储它的元素。 |
| 3 | 元素顺序 | 由于 LinkedList 内部使用双向链表,因此我们可以在 linkedlist 的情况下从两端添加或删除元素 | 而 LinkedHashset 内部有 Hashmap,因此元素只能插入到 LinkedHashset 的末尾。 |
| 4 | 重复项 | LinkedList 的集合中可以包含多个重复项。 | 另一方面,只有像 HashSet 一样,LinkedHashSet 中才允许存在重复元素。 |
| 5 | 索引性能 | LinkedList 的插入、移除和检索操作性能为 O(n) 阶 | LinkedHashSet 的插入、移除和检索操作性能也为 O(1)。 |
| 6 | 允许空值 | 可以在 LinkedList 中插入任意数量的空值,没有任何限制。 | 另一方面,LinkedHashset 只允许其集合中有一个空值,之后不允许添加任何空值。 |
LinkedList 与 LinkedHashset 的示例
JavaTester.java
import java.util.*;
public class JavaTester {
public static void main(String args[]){
LinkedList<String> object = new LinkedList<String>();
object.add("A");
object.add("B");
object.addLast("C");
object.addFirst("D");
object.add(2, "E");
object.add(null);
object.add(null);
System.out.println("Linked list : " + object);
System.out.println("Size of List:" + object.size());
}
}
输出
Linked list : [D, A, E, B, C, null, null] Size of List:7
示例
JavaTester.java
import java.util.LinkedHashSet;
public class JavaTester {
public static void main(String[] args){
LinkedHashSet<String> linkedset = new LinkedHashSet<String>();
linkedset.add("A");
linkedset.add("B");
linkedset.add("C");
linkedset.add("D");
System.out.println("LinkedHashSet:" + linkedset);
System.out.println("Size of LinkedHashSet = " + linkedset.size());
linkedset.add("A");
System.out.println("After adding duplicate element " + linkedset);
System.out.println("Size of LinkedHashSet = " + linkedset.size());
linkedset.add(null);
linkedset.add(null);
System.out.println("After adding null element " + linkedset);
System.out.println("Size of LinkedHashSet = " + linkedset.size());
}
}
输出
LinkedHashSet:[A, B, C, D] Size of LinkedHashSet = 4 After adding duplicate element [A, B, C, D] Size of LinkedHashSet = 4 After adding null element [A, B, C, D, null] Size of LinkedHashSet = 5

