Java LinkedList和LinkedHashSet的区别

Java LinkedList和LinkedHashSet的区别

在这篇文章中,你将学习Java中LinkedList和LinkedHashSet之间的区别。

前提是: LinkedList。LinkedHashSet

LinkedList类实现了List和Deque接口,并扩展自AbstractSequentialList类。LinkedList类使用双链表来存储元素。它提供了一个链接列表的数据结构。

Java LinkedHashSet类是集合接口的哈希表和链接列表的实现。它继承了HashSet类并实现了Set接口。LinkedHashSet实现了Set接口,它们之间存在着一些区别。

让我们看看Java中LinkedList和LinkedHashSet的区别。
  1. 继承性:

    Java中LinkedList和LinkedHashSet的区别

  2. 内部如何工作
    Java LinkedList类使用双链表来存储元素,而LinkedHashSet在内部使用LinkedHashMap来存储它的元素。

  3. 唯一性:
    LinkedList类可以包含重复的元素,而LinkedHashSet则像HashSet一样只包含唯一的元素。

  4. 插入:
    LinkedList在双链表的情况下,我们可以从两边添加或删除元素,而LinkedHashSet则在最后插入。

  5. 构造函数:
    LinkedList有两个构造函数LinkedList()和LinkedList(Collection o),而LinkedHashSet有四个构造函数HashSet()、HashSet(Collection c)、LinkedHashSet(int capacity)和LinkedHashSet(int capacity, float fillRatio)

  6. 插入、删除和检索操作:
    LinkedList的插入、删除和检索操作性能为O(n)级,而LinkedHashSet的插入、删除和检索操作性能也为O(1)级。

  7. 比较元素:
    LinkedList使用equals()方法 LinkedHashSet也使用equals()和hashCode()方法来比较元素。

  8. 空元素:
    LinkedList允许任意数量的空值,而LinkedHashSet也允许最多一个空元素。

  9. 语法:
    LinkedList的语法是: public class LinkedList extends AbstractSequentialList implements List, Deque, Cloneable, Serializable

​ LinkedHashSet的语法是:public class LinkedHashSet extends HashSet implements Set, Cloneable, Serializable.

LinkedList的例子

// 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

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程