¿Cómo copiar o agregar HashSet a otro HashSet en Java?

HashSet se utiliza para almacenar valores distintos en Java. HashSet almacena los elementos en orden aleatorio, por lo que no hay garantía del orden de los elementos. HashSet Establecer interfaz HashMap

Podemos copiar o agregar un HashSet a otro HashSet. Hay un par de formas de copiar HashSet o agregar HashSet a otro HashSet en Java:

  • Usando el constructor HashSet
  • Usando el método clon()
  • Usando el método addAll()

Método 1: usar el constructor HashSet

Usando el constructor, podemos copiar el HashSet original a otro HashSet pasando el HashSet original al constructor.

// passing the original HashSet to the constructor

HashSet<Integer> copySet = new HashSet<>(originalSet)

Código:

Java

// Java program to copy a HashSet to
// another HashSet using the constructor
  
import java.util.*;
  
public class GFG {
    public static void main(String[] args)
    {
  
        // New HashSet
        HashSet<Integer> set = new HashSet<>();
  
        // Add elements to original set
        set.add(10);
        set.add(20);
        set.add(30);
        set.add(10);
        set.add(50);
        set.add(20);
  
        // Make a new HashSet and copy all elements of
        // original HashSet using constructor
        HashSet<Integer> copyOfSet = new HashSet<>(set);
  
        // Print original HashSet
        System.out.println("Original HashSet: " + set);
  
        // Print Copy HashSet
        System.out.println("Copy HashSet: " + copyOfSet);
    }
}
Producción

Original HashSet: [50, 20, 10, 30]
Copy HashSet: [50, 20, 10, 30]

Método 2: Usar el método de clonación

Usando el método de clonación, podemos copiar todos los elementos del HashSet original a otro HashSet en Java.

Nota: El orden de los elementos puede ser el mismo o puede no ser el mismo. Así que no hay garantía del pedido.

Código:

Java

// Java program to copy a HashSet to 
// another HashSet using clone method in Java
  
import java.util.*;
  
public class GFG {
    public static void main(String[] args)
    {
  
        // New empty HashSet
        HashSet<Integer> set = new HashSet<>();
  
        // Add elements to set
        set.add(10);
        set.add(20);
        set.add(30);
        set.add(10);
        set.add(50);
        set.add(20);
  
        // Create a new HashSet to copy the original HashSet
        HashSet copyOfSet = new HashSet();
  
        // Copy HashSet using clone method
        copyOfSet = (HashSet)set.clone();
  
        // Print original HashSet
        System.out.println("Original HashSet: " + set);
  
        // Print Copy HashSet
        System.out.println("Copy HashSet: " + copyOfSet);
    }
}
Producción

Original HashSet: [50, 20, 10, 30]
Copy HashSet: [50, 10, 20, 30]

Método 3: usar el método addAll

Podemos usar el método addAll() para copiar o agregar un HashSet a otro HashSet. El método addAll en Java agrega todos los elementos al HashSet.  

Nota: El orden de los elementos puede ser el mismo o puede no ser el mismo. Así que no hay garantía del pedido.

Código:

Java

// Java program to copy a HashSet to 
// another HashSet using addAll method in Java 
  
import java.util.*;
  
public class GFG {
  public static void main(String[] args) {
      
    // New empty HashSet
    HashSet<Integer> set = new HashSet<>();
  
    // Add elements to set
    set.add(10);
    set.add(20);
    set.add(30);
    set.add(10);
    set.add(50);
    set.add(20);
  
    // Create a new HashSet to copy the original HashSet
    HashSet<Integer> copyOfSet = new HashSet<>();
  
    // Copy HashSet using addAll method
    copyOfSet.addAll(set);
  
    // Print original HashSet 
    System.out.println("Original HashSet: " + set);
  
    // Print Copy HashSet
    System.out.println("Copy HashSet: " + copyOfSet);
  
  }
}
Producción

Original HashSet: [50, 20, 10, 30]
Copy HashSet: [50, 20, 10, 30]

Agregue usando el método addAll en el HashSet ya existente:

Código:

Java

// Java program to copy a HashSet to another 
// HashSet using addAll method in Java
  
import java.util.*;
  
public class GFG {
    public static void main(String[] args)
    {
  
        // New empty HashSet
        HashSet<Integer> set = new HashSet<>();
  
        // Add elements to set
        set.add(10);
        set.add(20);
        set.add(30);
        set.add(10);
        set.add(50);
        set.add(20);
  
        // Create a new HashSet to append a HashSet
        HashSet<Integer> appendedSet = new HashSet<>();
  
        // Add elements to appendedSet
        appendedSet.add(100);
        appendedSet.add(200);
  
        System.out.println("Before appending :");
  
        // Print original HashSet
        System.out.println("Original HashSet: " + set);
  
        // Print appendedSet before append
        System.out.println("Appended HashSet: "
                           + appendedSet);
  
        // Add all elements of set HashSet to appendedSet
        // using addAll method
        appendedSet.addAll(set);
  
        System.out.println("After appending");
  
        // Print appendedSet after append
        System.out.println("Appended HashSet: "
                           + appendedSet);
    }
}
Producción

Before appending :
Original HashSet: [50, 20, 10, 30]
Appended HashSet: [100, 200]
After appending
Appended HashSet: [50, 100, 20, 200, 10, 30]

Publicación traducida automáticamente

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