📜  Java程序将地图(HashMap)转换为列表

📅  最后修改于: 2020-09-26 18:09:12             🧑  作者: Mango

在此程序中,您将学习将Java映射转换为列表的各种技巧。

示例1:将地图转换为列表
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);

    }
}

输出

Key List: [1, 2, 3, 4, 5]
Value List: [a, b, c, d, e]

在上面的程序中,我们有一个Integer和String的映射,名为map 。由于映射包含键值对,因此我们需要两个列表来存储每个键,即用于键的keyList和用于值的valueList

我们使用map的keySet()方法获取所有键,并从它们创建了一个ArrayList keyList 。同样,我们使用地图的values()方法获取所有值,并从中创建一个ArrayList valueList


示例2:使用流将地图转换为列表
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);

    }
}

程序的输出与示例1相同。

在上面的程序中,我们没有使用ArrayList构造函数,而是使用stream()将地图转换为列表。

我们已经通过将CollectorstoList()作为参数,通过collect()方法将键和值转换为流,并将其转换为列表。