Join our newsletter for the latest updates.

Java Program to Convert Map (HashMap) to List

In this program, you'll learn different techniques to convert a map to a list in Java.

To understand this example, you should have the knowledge of the following Java programming topics:


Example 1: Convert Map to List

import java.util.*;

public class MapList {

    public static void main(String[] args) {

        Map<Integer, String> map = new HashMap<>();
        map.put(1, "a");
        map.put(2, "b");
        map.put(3, "c");
        map.put(4, "d");
        map.put(5, "e");

        List<Integer> keyList = new ArrayList(map.keySet());
        List<String> valueList = new ArrayList(map.values());

        System.out.println("Key List: " + keyList);
        System.out.println("Value List: " + valueList);

    }
}

Output

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

In the above program, we have a map of Integer and String named map. Since the map contains a key, value pair, we need two lists to store each of them, namely keyList for keys and valueList for values.

We used map's keySet() method to get all the keys and created an ArrayList keyList from them. Likewise, we used the map's values() method to get all the values and created an ArrayList valueList from them.


Example 2: Convert Map to List using stream

import java.util.*;
import java.util.stream.Collectors;

public class MapList {

    public static void main(String[] args) {

        Map<Integer, String> map = new HashMap<>();
        map.put(1, "a");
        map.put(2, "b");
        map.put(3, "c");
        map.put(4, "d");
        map.put(5, "e");

        List<Integer> keyList = map.keySet().stream().collect(Collectors.toList());
        List<String> valueList = map.values().stream().collect(Collectors.toList());

        System.out.println("Key List: " + keyList);
        System.out.println("Value List: " + valueList);

    }
}

The output of the program is the same as Example 1.

In the above program, instead of using ArrayList constructor, we've used stream() to convert the map to a list.

We've converted the keys and values to stream and convert it to a list using collect() method passing Collectors' toList() as a parameter.