Dado un conjunto ( HashSet o TreeSet ) de strings en Java, conviértalo en una lista ( ArrayList o LinkedList ) de strings. En java, la interfaz Set está presente en el paquete java.util y amplía la interfaz Collection, que es una colección desordenada de objetos en los que no se pueden almacenar valores duplicados. La interfaz de lista proporciona una forma de almacenar la colección ordenada. Es una interfaz secundaria de Collection. Es una colección ordenada de objetos en los que se pueden almacenar valores duplicados.
Input : Set hash_Set = new HashSet(); hash_Set.add("Geeks"); hash_Set.add("For"); Output : ArrayList or Linked List with following content {"Geeks", "for"}
Enfoques para convertir un conjunto en una lista en Java
Existen numerosos enfoques para hacer la conversión de un Conjunto a Lista en Java. Algunos de ellos se enumeran a continuación.
- Uso de Establecer poligonal
- Usando ArrayList o LinkedList Constructor
- Usando el método addAll()
- Usando Stream en Java
- Usando List.copyOf() en Java
1. Uso de desplazamiento fijo
Simplemente creamos una lista. Recorremos el conjunto dado y uno por uno agregamos elementos a la lista.
Java
// Java program to demonstrate conversion of // Set to array using simple traversal import java.util.*; class Test { public static void main(String[] args) { // Creating a hash set of strings Set<String> s = new HashSet<String>(); s.add("Geeks"); s.add("for"); int n = s.size(); List<String> aList = new ArrayList<String>(n); for (String x : s) aList.add(x); System.out.println("Created ArrayList is"); for (String x : aList) System.out.println(x); // We can create LinkedList same way } }
Created ArrayList is Geeks for
2. Usando ArrayList o LinkedList Constructor
Simplemente podemos convertir un Conjunto en una Lista usando el constructor de una ArrayList o LinkedList.
Java
// Java program to demonstrate conversion of // Set to list using constructor import java.util.*; class Test { public static void main(String[] args) { // Creating a hash set of strings Set<String> s = new HashSet<String>(); s.add("Geeks"); s.add("for"); // Creating an array list using constructor List<String> aList = new ArrayList<String>(s); System.out.println("Created ArrayList is"); for (String x : aList) System.out.println(x); System.out.println("Created LinkedList is"); List<String> lList = new LinkedList<String>(s); for (String x : lList) System.out.println(x); } }
Created ArrayList is Geeks for Created LinkedList is Geeks for
3. Usando el método addAll()
La conversión Set to List en Java también se puede realizar utilizando el método addAll() de Java List.
Java
// Java program to demonstrate conversion of // Set to array using addAll() method. import java.util.*; class Test { public static void main(String[] args) { // Creating a hash set of strings Set<String> s = new HashSet<String>(); s.add("Geeks"); s.add("for"); List<String> aList = new ArrayList<String>(); aList.addAll(s); System.out.println("Created ArrayList is"); for (String x : aList) System.out.println(x); List<String> lList = new LinkedList<String>(); lList.addAll(s); System.out.println("Created LinkedList is"); for (String x : lList) System.out.println(x); } }
Created ArrayList is Geeks for Created LinkedList is Geeks for
4. Usando Stream en Java
Usamos la transmisión en Java para convertir el conjunto dado a Steam, luego transmitimos a la lista. Esto funciona solo en Java 8 o versiones posteriores.
Java
// Java program to demonstrate conversion of // Set to list using stream import java.util.*; import java.util.stream.*; class Test { public static void main(String[] args) { // Creating a hash set of strings Set<String> s = new HashSet<String>(); s.add("Geeks"); s.add("for"); List<String> aList = s.stream().collect(Collectors.toList()); for (String x : aList) System.out.println(x); } }
Geeks for
5. Usar el método List.copyOf()
Podemos convertir el conjunto en una lista usando List.copyOf(object) en Java. Para esto, tenemos que importar el paquete java.util.List.* Es un método de fábrica estático que crea el objeto de lista a partir de otra colección u objeto.
Java
import java.io.*; import java.util.*; class GFG { public static void main(String[] args) { Set<String> s = new HashSet<String>(); s.add("geeks"); s.add("forgeeks"); s.add("learning"); s.add("platform"); List<String> aList = new ArrayList<>(); aList = List.copyOf(s); System.out.println("Created ArrayList is :" + aList); } }
Created ArrayList is :[geeks, forgeeks, learning, platform]