Convert a Map to an Array, List, and Set in Java

📘 Premium Read: Access my best content on Medium member-only articles — deep dives into Java, Spring Boot, Microservices, backend architecture, interview preparation, career advice, and industry-standard best practices.

🎓 Top 15 Udemy Courses (80-90% Discount): My Udemy Courses - Ramesh Fadatare — All my Udemy courses are real-time and project oriented courses.

▶️ Subscribe to My YouTube Channel (176K+ subscribers): Java Guides on YouTube

▶️ For AI, ChatGPT, Web, Tech, and Generative AI, subscribe to another channel: Ramesh Fadatare on YouTube

In Java, a Map is a collection that maps keys to values, providing a way to look up values based on keys. However, sometimes you might need to convert a Map to other collection types like an Array, List, or Set. This guide will cover the conversion of a Map to an array, list, and set, with examples for each type.

Table of Contents

  1. Introduction
  2. Converting Map to Array
    • Converting Keys to Array
    • Converting Values to Array
    • Converting Entries to Array
  3. Converting Map to List
    • Converting Keys to List
    • Converting Values to List
    • Converting Entries to List
  4. Converting Map to Set
    • Converting Keys to Set
    • Converting Values to Set
    • Converting Entries to Set
  5. Conclusion

Introduction

A Map in Java stores key-value pairs and is not directly compatible with arrays, lists, or sets. However, you can convert the keys, values, or entries of a Map to these collection types. The following sections will explain how to perform these conversions.

Converting Map to Array

Converting Keys to Array

To convert the keys of a Map to an array:

import java.util.HashMap; import java.util.Map; public class MapToArray { public static void main(String[] args) { Map<String, Integer> map = new HashMap<>(); map.put("Apple", 1); map.put("Banana", 2); map.put("Orange", 3); // Convert keys to array String[] keysArray = map.keySet().toArray(new String[0]); // Print keys array for (String key : keysArray) { System.out.println(key); } } } 

Output:

Apple Banana Orange 

Converting Values to Array

To convert the values of a Map to an array:

import java.util.HashMap; import java.util.Map; public class MapToArrayValues { public static void main(String[] args) { Map<String, Integer> map = new HashMap<>(); map.put("Apple", 1); map.put("Banana", 2); map.put("Orange", 3); // Convert values to array Integer[] valuesArray = map.values().toArray(new Integer[0]); // Print values array for (Integer value : valuesArray) { System.out.println(value); } } } 

Output:

1 2 3 

Converting Entries to Array

To convert the entries of a Map to an array:

import java.util.HashMap; import java.util.Map; public class MapToArrayEntries { public static void main(String[] args) { Map<String, Integer> map = new HashMap<>(); map.put("Apple", 1); map.put("Banana", 2); map.put("Orange", 3); // Convert entries to array Map.Entry<String, Integer>[] entriesArray = map.entrySet().toArray(new Map.Entry[0]); // Print entries array for (Map.Entry<String, Integer> entry : entriesArray) { System.out.println(entry.getKey() + ": " + entry.getValue()); } } } 

Output:

Apple: 1 Banana: 2 Orange: 3 

Converting Map to List

Converting Keys to List

To convert the keys of a Map to a List:

import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.stream.Collectors; public class MapToListKeys { public static void main(String[] args) { Map<String, Integer> map = new HashMap<>(); map.put("Apple", 1); map.put("Banana", 2); map.put("Orange", 3); // Convert keys to list List<String> keysList = map.keySet().stream().collect(Collectors.toList()); // Print keys list keysList.forEach(System.out::println); } } 

Output:

Apple Banana Orange 

Converting Values to List

To convert the values of a Map to a List:

import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.stream.Collectors; public class MapToListValues { public static void main(String[] args) { Map<String, Integer> map = new HashMap<>(); map.put("Apple", 1); map.put("Banana", 2); map.put("Orange", 3); // Convert values to list List<Integer> valuesList = map.values().stream().collect(Collectors.toList()); // Print values list valuesList.forEach(System.out::println); } } 

Output:

1 2 3 

Converting Entries to List

To convert the entries of a Map to a List:

import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.stream.Collectors; public class MapToListEntries { public static void main(String[] args) { Map<String, Integer> map = new HashMap<>(); map.put("Apple", 1); map.put("Banana", 2); map.put("Orange", 3); // Convert entries to list List<Map.Entry<String, Integer>> entriesList = map.entrySet().stream().collect(Collectors.toList()); // Print entries list entriesList.forEach(entry -> System.out.println(entry.getKey() + ": " + entry.getValue())); } } 

Output:

Apple: 1 Banana: 2 Orange: 3 

Converting Map to Set

Converting Keys to Set

To convert the keys of a Map to a Set:

import java.util.HashMap; import java.util.Map; import java.util.Set; public class MapToSetKeys { public static void main(String[] args) { Map<String, Integer> map = new HashMap<>(); map.put("Apple", 1); map.put("Banana", 2); map.put("Orange", 3); // Convert keys to set Set<String> keysSet = map.keySet(); // Print keys set keysSet.forEach(System.out::println); } } 

Output:

Apple Banana Orange 

Converting Values to Set

To convert the values of a Map to a Set:

import java.util.HashMap; import java.util.Map; import java.util.Set; import java.util.stream.Collectors; public class MapToSetValues { public static void main(String[] args) { Map<String, Integer> map = new HashMap<>(); map.put("Apple", 1); map.put("Banana", 2); map.put("Orange", 3); // Convert values to set Set<Integer> valuesSet = map.values().stream().collect(Collectors.toSet()); // Print values set valuesSet.forEach(System.out::println); } } 

Output:

1 2 3 

Converting Entries to Set

To convert the entries of a Map to a Set:

import java.util.HashMap; import java.util.Map; import java.util.Set; public class MapToSetEntries { public static void main(String[] args) { Map<String, Integer> map = new HashMap<>(); map.put("Apple", 1); map.put("Banana", 2); map.put("Orange", 3); // Convert entries to set Set<Map.Entry<String, Integer>> entriesSet = map.entrySet(); // Print entries set entriesSet.forEach(entry -> System.out.println(entry.getKey() + ": " + entry.getValue())); } } 

Output:

Apple: 1 Banana: 2 Orange: 3 

Conclusion

Converting a Map to an Array, List, or Set in Java involves transforming the keys, values, or entries of the map into the desired collection type. By understanding and using the methods demonstrated in this guide, you can effectively perform these conversions to suit your application's needs. Whether you need to work with arrays, lists, or sets, these techniques provide a straightforward way to transform your data.

Comments

Spring Boot 3 Paid Course Published for Free
on my Java Guides YouTube Channel

Subscribe to my YouTube Channel (165K+ subscribers):
Java Guides Channel

Top 10 My Udemy Courses with Huge Discount:
Udemy Courses - Ramesh Fadatare