Java 中 LinkedList 和 LinkedHashSet 的區別
LinkedList 和 LinkedHashSet 都是 Java 集合框架中最重要的類之一。
以下是 LinkedList 和 LinkedHashSet 之間的重要區別。
序號 | 關鍵 | 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
示例
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
示例
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
廣告