En este programa, aprenderá diferentes técnicas para convertir un mapa en una lista en Java.
Para comprender este ejemplo, debe tener el conocimiento de los siguientes temas de programación de Java:
- Interfaz de mapa Java
- Java HashMap
- Lista de Java
- Clase Java ArrayList
Ejemplo 1: Convertir mapa en lista
import java.util.*; public class MapList ( public static void main(String() args) ( Map map = new HashMap(); map.put(1, "a"); map.put(2, "b"); map.put(3, "c"); map.put(4, "d"); map.put(5, "e"); List keyList = new ArrayList(map.keySet()); List valueList = new ArrayList(map.values()); System.out.println("Key List: " + keyList); System.out.println("Value List: " + valueList); ) )
Salida
Lista clave: (1, 2, 3, 4, 5) Lista de valores: (a, b, c, d, e)
En el programa anterior, tenemos un mapa de Integer y String llamado map. Dado que el mapa contiene un par clave, valor , necesitamos dos listas para almacenar cada uno de ellos, a saber, keyList para claves y valueList para valores.
Usamos el keySet()
método de map para obtener todas las claves y creamos una ArrayList
lista de claves a partir de ellas. Del mismo modo, usamos el values()
método del mapa para obtener todos los valores y creamos una ArrayList
valueList a partir de ellos.
Ejemplo 2: convertir mapa en lista usando flujo
import java.util.*; import java.util.stream.Collectors; public class MapList ( public static void main(String() args) ( Map map = new HashMap(); map.put(1, "a"); map.put(2, "b"); map.put(3, "c"); map.put(4, "d"); map.put(5, "e"); List keyList = map.keySet().stream().collect(Collectors.toList()); List valueList = map.values().stream().collect(Collectors.toList()); System.out.println("Key List: " + keyList); System.out.println("Value List: " + valueList); ) )
La salida del programa es la misma que en el Ejemplo 1 .
En el programa anterior, en lugar de usar el ArrayList
constructor, lo usamos stream()
para convertir el mapa en una lista.
Hemos convertido las claves y los valores en flujo y lo hemos convertido en una lista usando el collect()
método de paso Collectors
' toList()
como parámetro.