當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Java LinkedList和LinkedHashSet的區別用法及代碼示例


在本文中,您將了解 java 中 LinkedList 和 LinkedHashSet 之間的區別。

先決條件: LinkedListLinkedHashSet

LinkedList 類實現 List 和 Deque 接口並擴展自 AbstractSequentialList 類。 LinkedList類使用雙向鏈表來存儲元素。它提供了linked-list數據結構。

Java LinkedHashSet 類是 set 接口的哈希表和鏈表實現。它繼承HashSet類並實現Set接口。 LinkedHashSet Set接口的實現,它們之間存在一些差異。

讓我們看看 Java 中 LinkedList 和 LinkedHashSet 之間的區別
  1. Inheritance:
  2. 內部如何運作
    Java LinkedList 類使用雙向鏈表來存儲元素,而 LinkedHashSet 使用LinkedHashMap內部存儲它的元素。
  3. uniqueness:
    LinkedList 類可以包含重複元素,而 LinkedHashSet 隻能像 HashSet 一樣包含唯一元素。
  4. Insertion:
    LinkedList 在雙向鏈表的情況下,我們可以從兩側添加或刪除元素,而 LinkedHashSet 在末尾插入。
  5. Constructor:
    LinkedList 有兩個構造函數 LinkedList() 和 LinkedList(Collection o) 而 LinkedHashSet 有四個構造函數 HashSet()、HashSet(Collection c)、LinkedHashSet(intcapacity) 和 LinkedHashSet(intcapacity, float fillRatio)
  6. 插入、刪除和檢索操作:
    LinkedList 插入、刪除和檢索操作的性能為 O(n) 級,而 LinkedHashSet 還提供了 O(1) 級的插入、刪除和檢索操作性能。
  7. 比較元素:
    LinkedList使用equals()方法 LinkedHashSet還使用equals()和hashCode()方法來比較元素。
  8. 空元素:
    LinkedList 允許任意數量的空值,而 LinkedHashSet 還允許最多一個空元素。
  9. 用法:
    LinkedList語法是:
    公共類 LinkedList 擴展 AbstractSequentialList 實現 List、Deque、Cloneable、Serializable

    LinkedHashSet語法是:

    公共類LinkedHashSet擴展HashSet實現Set、Cloneable、Serialized

鏈表示例:


// Java code for Linked List implementation 
  
import java.util.*; 
  
public class Test { 
    public static void main(String args[]) 
    { 
        // Creating object of class linked list 
        LinkedList<String> object = new LinkedList<String>(); 
  
        // Adding elements to the linked list 
        // and see carefully element are duplicate, null 
        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

LinkedHashSet 的示例:


import java.util.LinkedHashSet; 
public class Demo { 
    public static void main(String[] args) 
    { 
        LinkedHashSet<String> linkedset = new LinkedHashSet<String>(); 
  
        // Adding element to LinkedHashSet 
        linkedset.add("A"); 
        linkedset.add("B"); 
        linkedset.add("C"); 
        linkedset.add("D"); 
  
        System.out.println("Original LinkedHashSet:" + linkedset); 
        System.out.println("Size of LinkedHashSet = " + linkedset.size()); 
  
        // trying to add duplicate 
        linkedset.add("A"); 
        System.out.println("After adding duplicate element " + linkedset); 
        System.out.println("Size of LinkedHashSet = " + linkedset.size()); 
  
        // trying to add null value more than one 
        linkedset.add(null); 
        linkedset.add(null); 
        System.out.println("After adding two null element " + linkedset); 
        System.out.println("Size of LinkedHashSet = " + linkedset.size()); 
    } 
} 

輸出:

Original LinkedHashSet:[A, B, C, D]
Size of LinkedHashSet = 4
After adding duplicate element [A, B, C, D]
Size of LinkedHashSet = 4
After adding two null element [A, B, C, D, null]
Size of LinkedHashSet = 5


相關用法


注:本文由純淨天空篩選整理自Rajput-Ji大神的英文原創作品 Difference Between LinkedList and LinkedHashSet in Java。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。