Convertir valores de mapa en una lista en Java
- Definir un mapa para convertirlo en una lista en Java
-
Use flujos
Collector
para convertir un mapa en una lista en Java
Este tutorial ejecutará tres programas para mostrar cómo convertir valores de mapas hash en una lista en Java.
Definir un mapa para convertirlo en una lista en Java
Antes de convertir valores de mapa en una lista, primero debemos tener un objeto de mapa y luego asignarle dos tipos de datos: un número entero (claves) y una cadena (valores) antes de agruparlo en una lista.
Las claves en este programa son los valores de RPM de los autos, mientras que las cadenas son sus colores.
Sintaxis:
Map<Integer, String> M2L = new HashMap<>();
M2L.put(5000, "Toyata Black");
M2L.put(6000, "Audi White");
M2L.put(8000, "BMW Red");
M2L.put(12000, "Buggati Silver");
Use flujos Collector
para convertir un mapa en una lista en Java
Los Collector
son clases públicas que amplían objetos en Java. También ayudan a recopilar elementos y resumir características en función de varios puntos de referencia que los usuarios predefinen.
Aquí, usamos el método keySet()
para obtener claves creando una lista de arreglos a partir de un conjunto devuelto por un mapa.
Consulte el siguiente ejemplo, que convierte un mapa en una lista.
Ejemplo 1:
package maptolist;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
public class MapToList {
public static void main(String[] args) {
Map<Integer, String> M2L = new HashMap<>();
M2L.put(1, "New York");
M2L.put(2, "Toronto");
M2L.put(3, "Berlin");
List<Integer> ID = M2L.keySet().stream().collect(Collectors.toList());
ID.forEach(System.out::println);
List<String> NAME = M2L.values().stream().collect(Collectors.toList());
NAME.forEach(System.out::println);
}
}
Producción :
1
2
3
New York
Toronto
Berlin
Considere el siguiente código en nuestro segundo ejemplo.
Sintaxis:
List<Integer> nums = maptolist.keySet().stream().collect(Collectors.toList());
Ejemplo 2:
package maptolist;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
public class MaptoListExample2 {
public static void main(String[] args) {
Map<Integer, String> maptolist = new HashMap<>();
maptolist.put(1, "This");
maptolist.put(2, "Is");
maptolist.put(3, "A");
maptolist.put(4, "Demo");
maptolist.put(5, "Example");
List<Integer> nums = maptolist.keySet().stream().collect(Collectors.toList());
System.out.println("Keys:");
nums.forEach(System.out::println);
// Conversion Strings
List<String> chars = maptolist.values().stream().collect(Collectors.toList());
System.out.println("Values:");
chars.forEach(System.out::println);
}
}
Producción :
Keys:
1
2
3
4
5
Values:
This
Is
A
Demo
Example
Ahora que hemos visto la lógica subyacente detrás de los mapas y las listas y hemos usado una combinación de recopiladores de objetos, a continuación se muestra un sólido programa de mapa en lista que funcionará en todas las situaciones.
La función keySet()
devuelve una vista de conjunto de claves en el mapa para que las modificaciones del mapa también se apliquen al conjunto. Aquí, formamos un par dentro de una envoltura para obtener una lista de claves, como se muestra a continuación.
Sintaxis:
List<String> setkey = new ArrayList<String>(MAP2LIST.keySet());
Ejemplo 3:
package maptolist;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class MapToListExample3 {
public static void main(String[] args) {
// Define Map
Map<String, String> MAP2LIST = new HashMap<String, String>();
// Values (key as values)
MAP2LIST.put("1 + 1", "TWO");
MAP2LIST.put("10 - 5", "FIVE");
MAP2LIST.put("2.4 + 3.6", "SIX");
// Define list
List<String> setkey = new ArrayList<String>(MAP2LIST.keySet());
// foreach function extends setkey and prints the output
setkey.forEach(System.out::println);
List<String> setvalue = new ArrayList<String>(MAP2LIST.values());
setvalue.forEach(System.out::println);
}
}
Producción :
10 - 5
1 + 1
2.4 + 3.6
FIVE
TWO
SIX
Sarwan Soomro is a freelance software engineer and an expert technical writer who loves writing and coding. He has 5 years of web development and 3 years of professional writing experience, and an MSs in computer science. In addition, he has numerous professional qualifications in the cloud, database, desktop, and online technologies. And has developed multi-technology programming guides for beginners and published many tech articles.
LinkedInArtículo relacionado - Java List
- Diferencias entre List y Arraylist en Java
- Dividir una lista en trozos en Java
- Encuentre el índice de un elemento en una lista usando Java
- Lista de filtros en Java
- Obtener el primer elemento de la lista en Java
- Convertir colección a lista en Java