¿Cómo convertir ArrayList a HashSet en Java?

ArrayList : en Java, ArrayList puede tener duplicados y mantiene el orden de inserción.

HashSet : HashSet es la clase de implementación de Set. No permite duplicados y usa Hashtable internamente.

Hay cuatro formas de convertir ArrayList a HashSet:

  1. Usando constructor.
  2. Usando el método add() iterando sobre cada elemento y agregándolo al HashSet.
  3. Usando el método addAll() que agrega todos los elementos de una sola vez al HashSet.
  4. usando flujo

Método 1: Usando el constructor

En este ejemplo, crearemos un objeto ArrayList y lo pasaremos al constructor de HashSet. Es el método más simple para convertir en HashSet.       

Java

// Java program to convert ArrayList
// to HashSet using constructor
 
import java.util.HashSet;
import java.util.ArrayList;
import java.io.*;
 
class GFG {
    public static void main(String[] args)
    {
       
        // adding elements to ArrayList object
        ArrayList<String> gfg = new ArrayList<>();
        
 
        gfg.add("data structure");
        gfg.add("competitive programming");
        gfg.add("Interviews");
        gfg.add("FANG");
        gfg.add("FANG");
 
        // pass ArrayList object into the HashSet object
        // constructor
        HashSet<String> hashSet = new HashSet<>(gfg);
 
        // printing every element in Set
 
        for (String value : hashSet) {
            System.out.println(value);
        }
    }
}
Producción

FANG
data structure
Interviews
competitive programming

Método 2: Usando el método add():

En esto, iteraremos sobre Arraylist y agregaremos cada elemento en HashSet.

Java

// Java program to convert ArrayList
// to HashSet using add() method
 
import java.io.*;
import java.util.ArrayList;
import java.util.HashSet;
class GFG {
    public static void main(String[] args)
    {
        ArrayList<String> gfg = new ArrayList<>();
       
        // adding element to ArrayList
        gfg.add("data structure");
        gfg.add("competitive programming");
        gfg.add("Interviews");
        gfg.add("FANG");
        gfg.add("FANG");
 
          // adding each Arraylist element inside the HashSet
        HashSet<String> hashSet = new HashSet<>();
       
        // printing each element
        gfg.forEach(value -> { hashSet.add(value); });
         
       
        for (String value : hashSet) {
            System.out.println(value);
        }
    }
}
Producción

FANG
data structure
Interviews
competitive programming

Método 3: Usar el método addAll()

En este ejemplo, simplemente agregaremos el objeto ArrayList completo usando el método addALL() en HashSet.

Java

// Java program to convert ArrayList
// to HashSet using addAll() method
 
import java.io.*;
import java.util.ArrayList;
import java.util.HashSet;
class GFG {
    public static void main(String[] args)
    {
        ArrayList<String> gfg = new ArrayList<>();
 
        // adding element into ArrayList object
        gfg.add("data structure");
        gfg.add("competitive programming");
        gfg.add("Interviews");
        gfg.add("FANG");
        gfg.add("FANG");
 
        // adding ArrayList to hashset using addAll() method
        HashSet<String> hashSet = new HashSet<>();
        hashSet.addAll(gfg);
 
        // printing each element of hashset
        for (String value : hashSet) {
            System.out.println(value);
        }
    }
}
Producción

FANG
data structure
Interviews
competitive programming

Método 4: Uso de flujos .

En este enfoque, usaremos secuencias para iterar sobre cada elemento de ArrayList y luego agregar cada elemento a un conjunto mediante el método de recopilación. Las secuencias son parte de Java 8

Java

// Java program to convert ArrayList
// to HashSet using streams
 
import java.io.*;
import java.util.ArrayList;
import java.util.Set;
import java.util.HashSet;
import java.util.stream.*;
 
class GFG {
    public static void main(String[] args)
    {
        ArrayList<String> gfg = new ArrayList<>();
        gfg.add("data structure");
        gfg.add("competitive programming");
        gfg.add("Interviews");
        gfg.add("FANG");
        gfg.add("FANG");
 
        // using stream to convert the ArrayList into set
        // then typecast into HashSet<String>
        HashSet<String> hashSet
            = (HashSet<String>)gfg.stream().collect(
                Collectors.toSet());
 
        // printing values of the hashSet
        for (String value : hashSet) {
            System.out.println(value);
        }
    }
}
Producción

FANG
data structure
Interviews
competitive programming

Publicación traducida automáticamente

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