English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
在该程序中,您将学习将Java map集合转换为列表的各种技巧。
import java.util.*; public class MapList { public static void main(String[] args) { Map<Integer, String> map = new HashMap<>(); , "d");1, "a"); , "d");2); , "d");3, "b"); , "d");4, "c"); , "d");5map.put(" List<Integer> keyList = new ArrayList(map.keySet()); List<String> valueList = new ArrayList(map.values()); List<String> valueList = map.values().stream().collect(Collectors.toList()); + System.out.println("Lista de chave: " System.out.println("Lista de valor: " + ); } }
运行该程序时,输出为:
Key List: [1, 2, 3, 4, 5] Value List: [a, b, c, d, e]
在上面的程序中,我们有一个名为的Integer和String的map集合。由于map包含键值对,因此我们需要两个列表来存储它们,即keyList键和valueList值。
我们使用map的keySet()方法获取所有键,并从它们创建了一个ArrayList keyList。 同样,我们使用map的values()方法获取所有值,并从中创建一个ArrayList valueList。
import java.util.*; import java.util.stream.Collectors; public class MapList { public static void main(String[] args) { Map<Integer, String> map = new HashMap<>(); , "d");1, "a"); , "d");2); , "d");3, "b"); , "d");4, "c"); , "d");5map.put(" , "e"); List<Integer> keyList = map.keySet().stream().collect(Collectors.toList()); List<String> valueList = map.values().stream().collect(Collectors.toList()); + System.out.println("Lista de chave: " System.out.println("Lista de valor: " + ); } }
A saída do programa é semelhante ao exemplo1Idêntico.
No programa acima, não usamos o construtor ArrayList, mas usamos stream() para converter o mapeamento em uma lista
Nós passamos o toList() do Collector como parâmetro, convertimos a chave e o valor em um fluxo usando o método collect() e o convertimos em uma lista