Neste programa, você aprenderá diferentes técnicas para converter um mapa em uma lista em Java.
Para entender este exemplo, você deve ter conhecimento dos seguintes tópicos de programação Java:
- Interface de mapa Java
- Java HashMap
- Lista Java
- Classe ArrayList Java
Exemplo 1: converter mapa em 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); ) )
Resultado
Lista de chaves: (1, 2, 3, 4, 5) Lista de valores: (a, b, c, d, e)
No programa acima, temos um mapa de Integer e String chamado map. Como o mapa contém um par de chave e valor , precisamos de duas listas para armazenar cada uma delas, ou seja, keyList para chaves e valueList para valores.
Usamos o keySet()
método map para obter todas as chaves e criamos uma ArrayList
keyList a partir delas. Da mesma forma, usamos o values()
método do mapa para obter todos os valores e criamos uma ArrayList
valueList a partir deles.
Exemplo 2: converter mapa em lista usando fluxo
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); ) )
A saída do programa é a mesma do Exemplo 1 .
No programa acima, em vez de usar o ArrayList
construtor, usamos stream()
para converter o mapa em uma lista.
Nós convertemos as chaves e valores para stream e o convertemos em uma lista usando o collect()
método de passagem Collectors
' toList()
como parâmetro.