Diferencia entre LinkedList y LinkedHashSet en Java

En este artículo, aprenderá la diferencia entre LinkedList y LinkedHashSet en Java.

Requisito previo: LinkedList : LinkedHashSet

La clase LinkedList implementa la interfaz List y Deque y se extiende desde la clase AbstractSequentialList. La clase LinkedList usa una lista doblemente enlazada para almacenar los elementos. Proporciona una estructura de datos de lista enlazada.

La clase Java LinkedHashSet es una tabla hash y una implementación de lista enlazada de la interfaz del conjunto. Hereda la clase HashSet e implementa la interfaz Set. Implementaciones LinkedHashSet de la interfaz Set, existen algunas diferencias entre ellas.

Veamos la diferencia entre LinkedList y LinkedHashSet en Java
  1. Herencia:
  2. Cómo funciona internamente
    La clase Java LinkedList usa una lista doblemente enlazada para almacenar los elementos, mientras que LinkedHashSet usa LinkedHashMap internamente para almacenar sus elementos.
  3. Unicidad:
    la clase LinkedList puede contener elementos duplicados, mientras que LinkedHashSet contiene elementos únicos solo como HashSet.
  4. Inserción:
    LinkedList en el caso de una lista doblemente enlazada, podemos agregar o eliminar elementos de ambos lados mientras que LinkedHashSet se inserta al final.
  5. Constructor:
    LinkedList tiene dos constructores LinkedList() y LinkedList(Colección o) mientras que LinkedHashSet tiene cuatro constructores HashSet(), HashSet(Colección c), LinkedHashSet(int capacidad) y LinkedHashSet(int capacidad, float fillRatio)
  6. Operaciones
    de inserción, eliminación y recuperación: rendimiento de las operaciones de inserción, eliminación y recuperación de LinkedList del pedido O(n), mientras que LinkedHashSet también proporciona el rendimiento del pedido O(1) para las operaciones de inserción, eliminación y recuperación.
  7. comparar los elementos:
    LinkedList usa el método equals() LinkedHashSet también usa los métodos equals() y hashCode() para comparar los elementos.
  8. Elementos nulos:
    LinkedList permite cualquier cantidad de valores nulos, mientras que LinkedHashSet también permite un máximo de un elemento nulo.
  9. Sintaxis:
    la sintaxis de LinkedList es:
    clase pública LinkedList extiende AbstractSequentialList implementa List, Deque, Cloneable, Serializable

    La sintaxis de LinkedHashSet es:

    clase pública LinkedHashSet extiende HashSet implementa Set, Cloneable, Serializable

Ejemplo de lista enlazada:

// 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());
    }
}

Producción:

Linked list : [D, A, E, B, C, null, null]
Size of List:7

Ejemplo de 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());
    }
}

Producción:

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

Publicación traducida automáticamente

Artículo escrito por Rajput-Ji y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *