Programa Java para eliminar todas las entradas duplicadas de la colección

Como sabemos que HashSet contiene solo elementos únicos, es decir, no se permiten entradas duplicadas, y dado que nuestro objetivo es eliminar las entradas duplicadas de la colección , para eliminar todas las entradas duplicadas de la colección, usaremos HashSet . La clase HashSet implementa la interfaz Set, respaldada por una tabla hash que en realidad es una instancia de HashMap . La clase también ofrece un rendimiento de tiempo constante para las operaciones básicas como agregar, eliminar, contener y dimensionar, suponiendo que la función hash dispersa los elementos correctamente entre los cubos. HashSet generalmente se usa para controlar si un elemento está presente en una lista o no.

Nota: Dado que estamos usando HashSet, el orden de inserción no se conservará y cada vez que ejecutemos el código obtendremos un resultado diferente (el orden de los elementos será diferente). Entonces, si queremos conservar el orden de los elementos mientras los insertamos, se supone que debemos usar LinkedHashSet.

Existen básicamente dos métodos para eliminar las entradas duplicadas de la colección:

  1. Usando HashSet
  2. Uso de LinkHashSet

Ahora veamos la implementación usando el programa java para eliminar las entradas duplicadas usando ambos métodos uno por uno:

1. Usando HashSet

Java

// Java Program to remove the duplicate entries from
// collection using HashSet
  
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashSet;
  
class GFG {
    public static void main(String[] args)
    {
        // making the collection object
        Collection<String> collection = new ArrayList<>();
  
        // adding the elements to the collection
        collection.add("Geeks");
        collection.add("For");
        collection.add("Geeks");
        collection.add("Internship");
        collection.add("Internship");
        collection.add("2021");
        collection.add("2021");
  
        // Displaying the collection elements
        System.out.println(
            "Displaying the initial collection\n");
        System.out.println(collection);
  
        // HashSEt for deleting duplicate entries
        // in the collection by passing collection
        // in the constructor of the HashSet
        HashSet<String> hashSet = new HashSet<>(collection);
  
        // Displaying the HashSet
        System.out.println("\nDisplaying the HashSet\n");
        System.out.println(hashSet);
  
        // clearing all the elements of the collection
        collection.clear();
  
        // adding all the elements back
        // to the collection from HashSet
        collection.addAll(hashSet);
  
        // Displaying the collection
        System.out.println(
            "\nDisplaying the collection after deleting duplicates entries\n");
        System.out.println(collection);
    }
}

Producción: 

Visualización de la colección inicial

[Geeks, Para, Geeks, Prácticas, Prácticas, 2021, 2021]

Visualización del HashSet

[Geeks, Para, 2021, Prácticas]

Visualización de la colección después de eliminar entradas duplicadas

[Geeks, Para, 2021, Prácticas]

2. Uso de LinkedHashSet

Java

// Java Program to remove the duplicate entries from
// collection using LinkedHashSet
  
import java.util.ArrayList;
import java.util.Collection;
import java.util.LinkedHashSet;
  
class GFG {
    public static void main(String[] args)
    {
        // making the collection object
        Collection<String> collection = new ArrayList<>();
  
        // adding the elements to the collection
        collection.add("Geeks");
        collection.add("For");
        collection.add("Geeks");
        collection.add("Internship");
        collection.add("Internship");
        collection.add("2021");
        collection.add("2021");
  
        // Displaying the collection elements
        System.out.println(
            "Displaying the initial collection\n");
        System.out.println(collection);
  
        // LinkedHashSet for deleting duplicate entries
        // in the collection by passing collection
        // in the constructor of the HashSet
        LinkedHashSet<String> hashSet
            = new LinkedHashSet<>(collection);
  
        // Displaying the HashSet
        System.out.println("\nDisplaying the HashSet\n");
        System.out.println(hashSet);
  
        // clearing all the elements of the collection
        collection.clear();
  
        // adding all the elements back
        // to the collection from HashSet
        collection.addAll(hashSet);
  
        // Displaying the collection
        System.out.println(
            "\nDisplaying the collection after deleting duplicates entries\n");
        System.out.println(collection);
    }
}

Producción:

Visualización de la colección inicial

[Geeks, Para, Geeks, Prácticas, Prácticas, 2021, 2021]

Visualización del HashSet

[Geeks, Para, Prácticas, 2021]

Visualización de la colección después de eliminar entradas duplicadas

[Geeks, Para, Prácticas, 2021]

Publicación traducida automáticamente

Artículo escrito por le0 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 *