In this article, we will discuss how to convert Map into List in Java 1.8 version
Conversion of Map to List in Java 8 :
As Map contains key-value pairs which is called as Map entries, we will convert all possible thing into List like,
- Converting Map keys into List of keys
- Converting Map values into List of values
- Converting Map entries into List of entries
Read Conversion of Map to List in Java until Java 1.7 version
1. Convert Map keys into List of Keys using Map.keySet() :
ConvertMapKeysToListInJava8.java
package in.bench.resources.java.collection.map;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
public class ConvertMapKeysToListInJava8 {
// main() method - entry point for JVM
public static void main(String[] args) {
// creating HashMap object of type <Integer, String>
Map<Integer, String> rankCompany =
new HashMap<Integer, String>();
// adding key-value pairs to HashMap object
rankCompany.put(1, "IBM");
rankCompany.put(2, "Microsoft");
rankCompany.put(3, "Accenture");
rankCompany.put(4, "Oracle");
rankCompany.put(5, "Hewlett Packard");
rankCompany.put(6, "SAP");
rankCompany.put(7, "TCS");
// Convert Map keys to List using Java 8 Streams
List<Integer> rankList = rankCompany
.entrySet()
.stream()
.map(rank -> rank.getKey())
.collect(Collectors.toList());
System.out.println("Converting Map KEYS into List"
+ " using Java 8 Streams\n");
// printing to console using Java 8
rankList.forEach(System.out::println);
// print no. of keys present inside List
System.out.println("\n\nTotal no. of keys in List is : "
+ rankList.size());
}
}
Output:
Converting Map KEYS into List using Java 8 Streams
1
2
3
4
5
6
7
Total no. of keys in List is : 7
2. Convert Map values into List of Values using Map.values() :
ConvertMapValuesToListInJava8.java
package in.bench.resources.java.collection.map;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
public class ConvertMapValuesToListInJava8 {
// main() method - entry point for JVM
public static void main(String[] args) {
// creating HashMap object of type <Integer, String>
Map<Integer, String> rankCompany =
new HashMap<Integer, String>();
// adding key-value pairs to HashMap object
rankCompany.put(1, "IBM");
rankCompany.put(2, "Microsoft");
rankCompany.put(3, "Accenture");
rankCompany.put(4, "Oracle");
rankCompany.put(5, "Hewlett Packard");
rankCompany.put(6, "SAP");
rankCompany.put(7, "TCS");
// Convert Map values to List using Java 8 Streams
List<String> companyList = rankCompany
.entrySet()
.stream()
.map(company -> company.getValue())
.collect(Collectors.toList());
System.out.println("Converting Map VALUES into List"
+ " using Java 8 Streams\n");
// printing to console using Java 8
companyList.forEach(System.out::println);
// print no. of values present inside List
System.out.println("\n\nTotal no. of values in List is : "
+ companyList.size());
}
}
Output:
Converting Map VALUES into List using Java 8 Streams
IBM
Microsoft
Accenture
Oracle
Hewlett Packard
SAP
TCS
Total no. of values in List is : 7
3. Convert Map entries to List of Entries using Map.entrySet() :
ConvertMapEntriesToListInJava8.java
package in.bench.resources.java.collection.map;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import javafx.util.Pair;
public class ConvertMapEntriesToListInJava8 {
// main() method - entry point for JVM
public static void main(String[] args) {
// creating HashMap object of type <Integer, String>
Map<Integer, String> rankCompany =
new HashMap<Integer, String>();
// adding key-value pairs to HashMap object
rankCompany.put(1, "IBM");
rankCompany.put(2, "Microsoft");
rankCompany.put(3, "Accenture");
rankCompany.put(4, "Oracle");
rankCompany.put(5, "Hewlett Packard");
rankCompany.put(6, "SAP");
rankCompany.put(7, "TCS");
// Convert Map entries to List using Java 8 Streams
List<Pair<Integer, String>> entryList = rankCompany
.entrySet()
.stream()
.map(e -> new Pair&lt;Integer, String&gt;(
e.getKey(), e.getValue()))
.collect(Collectors.toList());
System.out.println("Converting Map ENTRIES into List"
+ " using Java 8 Streams\n");
// printing to console using Java 8
entryList.forEach(System.out::println);
// print no. of entries present inside List
System.out.println("\n\nTotal no. of entries in List is : "
+ entryList.size());
}
}
Output:
Converting Map ENTRIES into List using Java 8 Streams
1=IBM
2=Microsoft
3=Accenture
4=Oracle
5=Hewlett Packard
6=SAP
7=TCS
Total no. of entries in List is : 7
Related Articles:
- Java – Conversion of Arrays to List
- Java 8 – Conversion of Arrays to List
- Java – Conversion of ArrayList to Arrays in 2 ways
- Java – Conversion of Arrays to Vector
- Java – Conversion of Arrays to HashSet
- Java – Conversion of HashSet to Arrays
- Java – Conversion of LinkedList into Vector
- Java – Conversion of ArrayList into HashSet to remove duplicate elements
- Java – How to convert LinkedList to contain unique elements in ascending-order ?
- Java – Converting Ordered ArrayList into Sorted TreeSet
- Java – Conversion of Map to List
- Java 8 – Conversion of Map to List
- Java – Conversion of List to Map
- Java 8 – Conversion of List to Map
- Java – Conversion of List to Arrays
- Java – How to remove elements while iterating collection object ?
References:
- https://docs.oracle.com/javase/tutorial/collections/intro/
- https://docs.oracle.com/javase/tutorial/collections/interfaces/collection.html
- https://docs.oracle.com/javase/7/docs/api/java/util/Collection.html
- https://docs.oracle.com/javase/tutorial/collections/interfaces/list.html
- https://docs.oracle.com/javase/tutorial/collections/implementations/list.html
- https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html
- https://docs.oracle.com/javase/7/docs/api/java/util/Map.html
- https://docs.oracle.com/javase/7/docs/api/java/util/Map.Entry.html
- https://docs.oracle.com/javase/tutorial/collections/interfaces/map.html
- https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html
Happy Coding !!
Happy Learning !!