Convertir ArrayList a Set en Java
- Convierta ArrayList a HashSet utilizando un enfoque ingenuo en Java
- Convierta ArrayList a HashSet usando constructores en Java
- Convierta ArrayList a HashSet usando Java 8 Stream API
-
Convierta ArrayList a HashSet usando el método
Set.copyOf()
en Java - Convierta ArrayList en HashSet usando la biblioteca de colecciones de Apache Commons en Java
ArrayList es una clase de implementación de la interfaz List que se usa para almacenar datos en orden lineal, mientras que el conjunto es una interfaz que tiene la clase HashSet para almacenar datos. La principal diferencia entre estos dos es que HashSet no permite elementos duplicados y almacena elementos únicos.
Este tutorial presentará diferentes enfoques para convertir un ArrayList en un HashSet.
Convierta ArrayList a HashSet utilizando un enfoque ingenuo en Java
Este es el enfoque más básico para convertir una lista en un conjunto.
En este enfoque, primero declaramos un conjunto vacío. Luego recorremos la lista y agregamos su elemento al conjunto uno por uno usando el método HashSet.add()
. Cuando el bucle termina, la lista se convierte en un conjunto.
Mira el código de abajo.
import java.util.*;
public class SimpleTesting {
public static void main(String args[]) {
// initialise a list
List<String> list =
Arrays.asList("Karan", "Rahul", "Jay", "Laxman", "Praful", "Kushagra", "Karan");
// intialise a set
Set<String> set = new HashSet<String>();
// apply for loop
for (String ele : list) {
set.add(ele);
}
// display the set
for (String ele : set) {
System.out.println(ele);
}
}
}
Producción :
Rahul
Kushagra
Jay
Karan
Laxman
Praful
En el código anterior, creamos una lista que almacena algunos nombres. También inicializamos un conjunto vacío llamado set.
Luego recorremos la lista y agregamos sus elementos para establecer uno por uno. Por último, imprimimos los elementos del conjunto. Observe cómo se eliminan los elementos duplicados en la lista.
Convierta ArrayList a HashSet usando constructores en Java
Este enfoque es el más simple de todos los enfoques. En este enfoque, pasamos la lista que debe convertirse en el constructor de la clase HashSet.
Esto elimina la necesidad de un bucle for
como se requería en el enfoque anterior. El constructor devuelve un nuevo conjunto que tiene todos los elementos únicos.
Mira el código de abajo.
import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
public class SimpleTesting {
public static void main(String args[]) {
// initialise a list
List<String> list =
Arrays.asList("Karan", "Rahul", "Jay", "Laxman", "Praful", "Kushagra", "Karan");
// intialise a set
Set<String> set = new HashSet<String>(list);
// display the set
for (String ele : set) {
System.out.println(ele);
}
}
}
Producción :
Rahul
Kushagra
Jay
Karan
Laxman
Praful
En el código anterior, creamos una lista que almacena algunos nombres. También inicializamos un conjunto vacío llamado conjunto.
Pasamos la lista como argumento al constructor de HashMap. Por último, imprimimos los elementos del conjunto. Observe cómo se eliminan los elementos duplicados en la lista.
Convierta ArrayList a HashSet usando Java 8 Stream API
Utilizamos la API de flujo de Java 8 para convertir el ArrayList en un HashSet en este enfoque. Primero convertimos la lista en una secuencia. Luego aplicamos la función collect
a la transmisión.
Para convertir en un conjunto, usamos la función Collectors.toSet()
en la operación collect
para obtener un conjunto. Mira el código de abajo.
import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;
public class SimpleTesting {
public static void main(String args[]) {
// initialise a list
List<String> list =
Arrays.asList("Karan", "Rahul", "Jay", "Laxman", "Praful", "Kushagra", "Karan");
// intialise a set using stream
Set<String> set = list.stream().collect(Collectors.toSet());
// display the set
for (String ele : set) {
System.out.println(ele);
}
}
}
Producción :
Rahul
Kushagra
Jay
Karan
Laxman
Praful
Convertimos una lista en una secuencia usando la función List.stream()
en el código anterior. Aplicamos la operación collect
a la transmisión y pasamos el método Collectors.toSet()
como argumento.
Esto da como resultado la conversión de la secuencia en un conjunto. Luego almacenamos este conjunto en el conjunto de variables.
Convierta ArrayList a HashSet usando el método Set.copyOf()
en Java
Java 10 proporciona un método Set.copyof()
que toma una colección como argumento y devuelve un conjunto inmutable que contiene los elementos de la colección dada. En este enfoque, usamos el método Set.copyOf()
para convertir un ArrayList en un HashSet.
import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;
public class SimpleTesting {
public static void main(String args[]) {
// initialise a list
List<String> list =
Arrays.asList("Karan", "Rahul", "Jay", "Laxman", "Praful", "Kushagra", "Karan");
// intialise a set
Set<String> set = Set.copyOf(list);
// display the set
for (String ele : set) {
System.out.println(ele);
}
}
}
Producción :
Rahul
Kushagra
Jay
Karan
Laxman
Praful
Convierta ArrayList en HashSet usando la biblioteca de colecciones de Apache Commons en Java
Si está trabajando con la biblioteca Apache Commons Collection, use el método CollectionUtils.addAll()
que toma dos argumentos: objeto de colección de destino y objeto de colección de origen.
Los valores del objeto de la colección de origen se copian en el objeto de la colección de destino y crean un conjunto. Mira el código de abajo.
Este código usa el código de dependencia de la biblioteca Apache commons. Primero, agregue esta dependencia a su proyecto Java para ejecutar este código con éxito.
<!-- https://mvnrepository.com/artifact/commons-collections/commons-collections -->
<dependency>
<groupId>commons-collections</groupId>
<artifactId>commons-collections</artifactId>
<version>3.2.2</version>
</dependency>
import java.util.*;
public class SimpleTesting {
public static void main(String args[]) {
// initialise a list
List<String> sourcelist =
Arrays.asList("Karan", "Rahul", "Jay", "Laxman", "Praful", "Kushagra", "Karan");
// intialise a set
Set<String> targetset = new HashSet<String>();
// Adding elements
CollectionUtils.addAll(targetset, sourcelist);
// display the set
for (String ele : targetset) {
System.out.println(ele);
}
}
}
Producción :
Rahul
Kushagra
Jay
Karan
Laxman
Praful
Artículo relacionado - Java ArrayList
- Cómo ordenar objetos en ArrayList por fecha en Java
- Diferencias entre List y Arraylist en Java
- Encuentra valores únicos en Java ArrayList
- Vector y ArrayList en Java
- Comparar ArrayLists en Java
- Convertir ArrayList a Int Array en Java