Java stream api map to list

How to Convert a Map to List in Java

In this post, we will learn as how to Convert a map to List in Java.We will see how to do this using JDK. We will check how to do this using Java 8 and in case you are still using Java 1.7 or lower versions.

1. Convert a map to List in Java

To convert, Java Map to List, we can use the conventional constructor with ArrayList , however, there are few things to consider before we proceed with the conversion. Java Map has 2 values while list contains only single value while converting Map to list.While converting the map to list in Java, we can either convert the map keys or values to the List.There is no direct option to map both keys and values in List, but this can be done using a wrapper object. Let’s see how to do this using Java 1.7 or earlier versions.

public class MapToList < public static void main(String[] args) < Mapmap= getMap(); //Convert Map keys to List List keyList= new ArrayList(map.keySet()); keyList.forEach(key-> System.out.println(key)); //Convert Map values to List List valueList= new ArrayList(map.values()); keyList.forEach(value-> System.out.println(value)); > static Map getMap() < MapsampleMap=new HashMap(); sampleMap.put(1,"Sunday"); sampleMap.put(2,"Monday"); sampleMap.put(3,"Tuesday"); sampleMap.put(4,"Wednesday"); return sampleMap; > >

Output for the above code is::

Читайте также:  Html padding top right bottom left

For valueList

Sunday Monday Tuesday Wednesday

While working on these options, you should also remember these important points.

  1. map.values() method returns a Collection of the values.
  2. map.keySet() returns a Set containing all the map’s key.

2. Convert a map to List in Java8

Java 8 stream API provides few options to convert a map to List. We can use the combination of stream API and Collectors to accomplish this. One of the benefit of using Java 8 syntax is the readability of the code along with some of the build in performance boost. Keep in mind that the same restriction applies when using the Stream API and we may need a wrapper object if want to collect both keys and values from the Map.

public class MapToListJava8 < public static void main(String[] args) < Mapmap= getMap(); List keyList=map.keySet().stream().collect(Collectors.toList()); keyList.forEach(key-> System.out.println(key)); List valueList=map.values().stream().collect(Collectors.toList()); valueList.forEach(value-> System.out.println(value)); > static Map getMap() < MapsampleMap=new HashMap(); sampleMap.put(1,"Sunday"); sampleMap.put(2,"Monday"); sampleMap.put(3,"Tuesday"); sampleMap.put(4,"Wednesday"); return sampleMap; > >

The stream API also provide flexibility and methods to filter out the specific data while converting the map to list.Let’s say,we are only interested to get the data for the even keys, in traditional conversion, we need to first iterate and than compare the key, while with the Stream API, we can use the filter method on stream. This is really helpful in case we have larger map data.

public class MapToListExample < public static void main(String[] args) < Map < Integer, String >map = new HashMap < Integer, String >(); map.put(1, "one"); map.put(2, "two"); map.put(3, "three"); map.put(4, "four"); map.put(5, "five"); map.put(6, "six"); map.put(7, "seven"); map.put(8, "eight"); map.put(9, "nine"); List < Integer >output = map.keySet() .stream() .filter(key - > key % 2 == 0) .collect(Collectors.toList()); output.forEach(System.out::println); > >

Summary

In this post, we explored as to how to convert a Map to List in Java, we learned how to convert it using a constructor and Java 8 Stream API.We can use the same approach to convert a map to set in Java.It works on the same concept as Set can only be used to store either keys or value until we use a wrapper object to store both keys and values. For more information, read how to convert map to set in Java .All the code of this article is available Over on Github. This is a Maven-based project.

Читайте также:  Best books about html and css

Источник

Java 8 – Convert Map to List (HashMap to ArrayList)

Twitter Facebook Google Pinterest

4. Example 3: Java 8 Convert All Map Keys and Values into List

Instead of using the ArrayList constructor, we are using stream() method to convert HashMap to ArrayList.

package com.javaprogramto.java8.maptolist; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.stream.Collectors; public class Java8MapToListExample < public static void main(String[] args) < Mapfruites = new HashMap<>(); fruites.put(15, "apple"); fruites.put(20, "mango"); fruites.put(30, "gauva"); fruites.put(35, "payaya"); fruites.put(40, "jack fruit"); //java 8 - convert all keys to map List keysList = fruites.keySet().stream().collect(Collectors.toList()); System.out.println("Map keys List :"); for (Integer integer : keysList) < System.out.println(integer); >// java 8 - convert all keys to map List valuesList = fruites.values().stream().collect(Collectors.toList()); System.out.println("Map values list :"); for (String s : valuesList) < System.out.println(s); >System.out.println("removing odd even fruit id's as list : "); List evenList = fruites.keySet().stream().filter(id -> id % 2 == 0).collect(Collectors.toList()); evenList.forEach(id -> System.out.println(id)); > >
Map keys List : 35 20 40 30 15 Map values list : payaya mango jack fruit gauva apple removing odd even fruit id's as list : 20 40 30

First converted HashMap keys and values to stream using stream() method and converted it to List using collect() method passing the Colletors.toList() method.

5. Example 4: Convert All Map Keys into List using HashMap.entrySet()

Above examples are based on the Map keyset() and values() methods. But, Map has another method entrySet() which returns Set>.

Let us see and learn how to use the entrySet() method in java 8 to convert Map into 2 separate lists.

import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.stream.Collectors; public class Java8EntrySetMapToListExample < public static void main(String[] args) < Mapfruites = new HashMap<>(); fruites.put(15, "apple"); fruites.put(20, "mango"); fruites.put(30, "gauva"); fruites.put(35, "payaya"); fruites.put(40, "jack fruit"); List valuesList = new ArrayList<>(); List keyList = fruites.entrySet().stream().filter(e -> e.getKey() % 15 == 0).peek( e -> valuesList.add(e.getValue()) ).map(e-> e.getKey()).collect(Collectors.toList()); System.out.println("Keys list : "+keyList); System.out.println("Values list : "+valuesList); > >
Keys list : [30, 15] Values list : [gauva, apple]

6. Conclusion

In this article, you’ve seen how to convert HashMap to ArrayList with 4 examples and using java 8 stream api.

Labels:

SHARE:

Twitter Facebook Google Pinterest

About Us

Java 8 Tutorial

  • Java 8 New Features
  • Java 8 Examples Programs Before and After Lambda
  • Java 8 Lambda Expressions (Complete Guide)
  • Java 8 Lambda Expressions Rules and Examples
  • Java 8 Accessing Variables from Lambda Expressions
  • Java 8 Method References
  • Java 8 Functional Interfaces
  • Java 8 — Base64
  • Java 8 Default and Static Methods In Interfaces
  • Java 8 Optional
  • Java 8 New Date Time API
  • Java 8 — Nashorn JavaScript

Java Threads Tutorial

Kotlin Conversions

Kotlin Programs

Java Conversions

  • Java 8 List To Map
  • Java 8 String To Date
  • Java 8 Array To List
  • Java 8 List To Array
  • Java 8 Any Primitive To String
  • Java 8 Iterable To Stream
  • Java 8 Stream To IntStream
  • String To Lowercase
  • InputStream To File
  • Primitive Array To List
  • Int To String Conversion
  • String To ArrayList

Java String API

  • charAt()
  • chars() — Java 9
  • codePointAt()
  • codePointCount()
  • codePoints() — Java 9
  • compareTo()
  • compareToIgnoreCase
  • concat()
  • contains()
  • contentEquals()
  • copyValueOf()
  • describeConstable() — Java 12
  • endsWith()
  • equals()
  • equalsIgnoreCase()
  • format()
  • getBytes()
  • getChars()
  • hashcode()
  • indent() — Java 12
  • indexOf()
  • intern()
  • isBlank() — java 11
  • isEmpty()
  • join()
  • lastIndexOf()
  • length()
  • lines()
  • matches()
  • offsetByCodePoints()
  • regionMatches()
  • repeat()
  • replaceFirst()
  • replace()
  • replaceAll()
  • resolveConstantDesc()
  • split()
  • strip(), stripLeading(), stripTrailing()
  • substring()
  • toCharArray()
  • toLowerCase()
  • transform() — Java 12
  • valueOf()

Spring Boot

$show=Java%20Programs

$show=Kotlin

accumulo,1,ActiveMQ,2,Adsense,1,API,37,ArrayList,18,Arrays,24,Bean Creation,3,Bean Scopes,1,BiConsumer,1,Blogger Tips,1,Books,1,C Programming,1,Collection,8,Collections,37,Collector,1,Command Line,1,Comparator,1,Compile Errors,1,Configurations,7,Constants,1,Control Statements,8,Conversions,6,Core Java,149,Corona India,1,Create,2,CSS,1,Date,3,Date Time API,38,Dictionary,1,Difference,2,Download,1,Eclipse,3,Efficiently,1,Error,1,Errors,1,Exceptions,8,Fast,1,Files,17,Float,1,Font,1,Form,1,Freshers,1,Function,3,Functional Interface,2,Garbage Collector,1,Generics,4,Git,9,Grant,1,Grep,1,HashMap,2,HomeBrew,2,HTML,2,HttpClient,2,Immutable,1,Installation,1,Interview Questions,6,Iterate,2,Jackson API,3,Java,32,Java 10,1,Java 11,6,Java 12,5,Java 13,2,Java 14,2,Java 8,128,Java 8 Difference,2,Java 8 Stream Conversions,4,java 8 Stream Examples,12,Java 9,1,Java Conversions,14,Java Design Patterns,1,Java Files,1,Java Program,3,Java Programs,114,Java Spark,1,java.lang,4,java.util. function,1,JavaScript,1,jQuery,1,Kotlin,11,Kotlin Conversions,6,Kotlin Programs,10,Lambda,2,lang,29,Leap Year,1,live updates,1,LocalDate,1,Logging,1,Mac OS,3,Math,1,Matrix,6,Maven,1,Method References,1,Mockito,1,MongoDB,3,New Features,1,Operations,1,Optional,6,Oracle,5,Oracle 18C,1,Partition,1,Patterns,1,Programs,1,Property,1,Python,2,Quarkus,1,Read,1,Real Time,1,Recursion,2,Remove,2,Rest API,1,Schedules,1,Serialization,1,Servlet,2,Sort,1,Sorting Techniques,8,Spring,2,Spring Boot,23,Spring Email,1,Spring MVC,1,Streams,31,String,61,String Programs,28,String Revese,1,StringBuilder,1,Swing,1,System,1,Tags,1,Threads,11,Tomcat,1,Tomcat 8,1,Troubleshoot,26,Unix,3,Updates,3,util,5,While Loop,1,

Learn how to convert Map to List in java 8. Explore different ways to convert HashMap to ArrayList. map.keySet().stream().collect(Collectors.toList())

Источник

Оцените статью