当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。