Java 中 LinkedList 和 LinkedHashSet 的区别
java 8object oriented programmingprogramming更新于 2024/11/8 8:52:00
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