La clase ArrayList es una array redimensionable, presente en el paquete java.util . La diferencia entre una array y una ArrayList en Java es que el tamaño de una array no se puede modificar (es decir, si desea agregar/agregar o eliminar elementos de una array, debe crear una nueva array). Sin embargo, los elementos se pueden agregar/agregar o eliminar de una ArrayList sin necesidad de crear una nueva array.
La clase Hashset presente en el paquete java.util se usa para crear una colección que usa una tabla hash para almacenar elementos de datos. HashSet almacena los elementos mediante el uso de un mecanismo hash. HashSet contiene solo elementos únicos y permite un valor nulo. HashSet no mantiene el orden de inserción y los elementos se insertan en función de su código hash. HashSet es el mejor enfoque para las operaciones de búsqueda.
Para convertir un HashSet en Arraylist, necesitamos usar el constructor ArrayList y pasar la instancia de HashSet como argumento del constructor. Copiará todos los elementos de HashSet al ArrayList recién creado.
Java
// Java program to convert HashSet to ArrayList import java.io.*; import java.util.ArrayList; import java.util.HashSet; class GFG { public static void main(String[] args) { HashSet<String> flower_set = new HashSet<>(); flower_set.add("tulip"); flower_set.add("rose"); flower_set.add("orchid"); flower_set.add("marie-gold"); // Pass hashset to arraylist constructor ArrayList<String> flower_array = new ArrayList<>(flower_set); // all elements from hashset are copied to arraylist System.out.println( "Elements of flower Arraylist are :"); System.out.println(flower_array); // using the get method of Arraylist to get the // element at index=0 System.out.print("Element at index 0 is : " + flower_array.get(0) + " "); } }
Elements of flower Arraylist are : [marie-gold, rose, tulip, orchid] Element at index 0 is : marie-gold
Hay otra forma de convertir el objeto HashSet en ArrayList mediante el uso de la api de flujo introducida en Java 8. Usaremos el método toList() de la clase Collectors para convertir los datos de entrada en una Lista, pero queremos que sea una ArrayList, por lo que lo encasillará en ArrayList usando esto (ArrayList<TypeOfObject>) al frente.
Java
// Java Program to convert the HashSet to ArrayList // Using Stream Api Java 8 import java.io.*; import java.util.*; import java.util.stream.*; class GFG { public static void main(String[] args) { HashSet<String> flower_set = new HashSet<>(); flower_set.add("tulip"); flower_set.add("rose"); flower_set.add("orchid"); flower_set.add("marie-gold"); // Using stream api // and typecasting the List object to ArrayList ArrayList<String> flower_array = (ArrayList<String>)flower_set.stream() .collect(Collectors.toList()); // all elements from hashset are copied to arraylist System.out.println( "Elements of flower Arraylist are :"); System.out.println(flower_array); // using the get method of Arraylist to get the // element at index=0 System.out.print("Element at index 0 is : " + flower_array.get(0) + " "); } }
Elements of flower Arraylist are : [marie-gold, rose, tulip, orchid] Element at index 0 is : marie-gold
Otro enfoque: usar el método addAll()
La otra forma de convertir de HashSet a ArrayList se realiza implementando el método addAll(). Para usar este método, debemos importar el paquete import java.util.Collections. Esto agregará los elementos de las colecciones a las otras colecciones oa la misma colección que hemos mencionado. Es un método booleano. Resultará verdadero, si todos los elementos de las colecciones se agregan con éxito. De lo contrario, devolverá falso.
Java
/*package whatever //do not write package name here */ import java.io.*; import java.util.Collections; import java.util.ArrayList; import java.util.HashSet; class GFG { public static void main (String[] args) { HashSet<String> set = new HashSet<>(); //Creation of HashSet set.add("GeeksforGeeks"); set.add("learning"); set.add("platform"); ArrayList<String> list =new ArrayList<>(); //Creation of ArrayList list.addAll(set); //HashSet to ArrayList System.out.println("I am from HashSet "+set); System.out.println("I am from ArrayList "+list); } }
I am from HashSet [GeeksforGeeks, learning, platform] I am from ArrayList [GeeksforGeeks, learning, platform]
Publicación traducida automáticamente
Artículo escrito por Gunjanpaul y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA