Programa Java para convertir mapa (HashMap) en lista

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 ArrayListlista de claves a partir de ellas. Del mismo modo, usamos el values()método del mapa para obtener todos los valores y creamos una ArrayListvalueList 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 ArrayListconstructor, 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.

Articulos interesantes...