A Stream is a sequence of objects that supports various methods which can be pipelined to produce the desired result.
Below are various method to convert Map to Stream in Java:
- Converting complete Map<Key, Value> into Stream: This can be done with the help of Map.entrySet() method which returns a Set view of the mappings contained in this map. In Java 8, this returned set can be easily converted into a Stream of key-value pairs using Set.stream() method.
Algorithm:
- Get the Map<Key, Value>.
- Convert Map<Key, Value> into Set<Key> using Map.entrySet() method.
- Convert the obtained Set into Stream using Set.stream()
- Return/Print the Stream of Map.
Program:
// Java Program to convert// Map<Key, Value> into StreamÂÂimportjava.util.*;importjava.util.stream.*;ÂÂclassGFG {   Â// Generic function to convert List of   Â// String to List of Integer   Âpublicstatic<K, V> Stream<Map.Entry<K, V> >   ÂconvertMapToStream(Map<K, V> map)   Â{       Â// Return the obtained Stream       Âreturnmap           Â// Convert the Map to Set           Â.entrySet()           Â// Convert the Set to Stream           Â.stream();   Â}   Âpublicstaticvoidmain(String args[])   Â{       Â// Create a Map       ÂMap<Integer, String> map =newHashMap<>();       Â// Add entries to the Map       Âmap.put(1,"Geeks");       Âmap.put(2,"forGeeks");       Âmap.put(3,"A computer Portal");       Â// Print the Map       ÂSystem.out.println("Map: "+ map);       Â// Convert the Map to Stream       ÂStream<Map.Entry<Integer, String> > stream =                                  ÂconvertMapToStream(map);       Â// Print the TreeMap       ÂSystem.out.println("Stream: "                     Â+ Arrays.toString(stream.toArray()));   Â}}Output:Map: {1=Geeks, 2=forGeeks, 3=A computer Portal} Stream: [1=Geeks, 2=forGeeks, 3=A computer Portal] - Converting only the Keyset of the Map<Key, Value> into Stream: This can be done with the help of Map.keySet() method which returns a Set view of the keys contained in this map. In Java 8, this returned set can be easily converted into a Stream of key-value pairs using Set.stream() method.
Algorithm:
- Get the Map<Key, Value>.
- Convert Map<Key, Value> into Set<Key> using Map.keySet() method.
- Convert the obtained Set into Stream using Set.stream()
- Return/Print the Stream of Map.
Program:
// Java Program to convert// Map<Key, Value> into StreamÂÂimportjava.util.*;importjava.util.stream.*;ÂÂclassGFG {   Â// Generic function to convert List of   Â// String to List of Integer   Âpublicstatic<K, V> Stream<K>   ÂconvertMapToStream(Map<K, V> map)   Â{       Â// Return the obtained Stream       Âreturnmap           Â// Convert the Map to Set<Key>           Â.keySet()           Â// Convert the Set to Stream           Â.stream();   Â}   Âpublicstaticvoidmain(String args[])   Â{       Â// Create a Map       ÂMap<Integer, String> map =newHashMap<>();       Â// Add entries to the Map       Âmap.put(1,"Geeks");       Âmap.put(2,"forGeeks");       Âmap.put(3,"A computer Portal");       Â// Print the Map       ÂSystem.out.println("Map: "+ map);       Â// Convert the Map to Stream       ÂStream<Integer> stream = convertMapToStream(map);       Â// Print the TreeMap       ÂSystem.out.println("Stream: "                   Â+ Arrays.toString(stream.toArray()));   Â}}Output:Map: {1=Geeks, 2=forGeeks, 3=A computer Portal} Stream: [1, 2, 3] - Converting only the Value of the Map<Key, Value> into Stream: This can be done with the help of Map.values() method which returns a Set view of the values contained in this map. In Java 8, this returned set can be easily converted into a Stream of key-value pairs using Set.stream() method.
Algorithm:
- Get the Map<Key, Value>.
- Convert Map<Key, Value> into Set<Value> using Map.values() method.
- Convert the obtained Set into Stream using Set.stream()
- Return/Print the Stream of Map.
Program:
// Java Program to convert// Map<Key, Value> into StreamÂÂimportjava.util.*;importjava.util.stream.*;ÂÂclassGFG {   Â// Generic function to convert List of   Â// String to List of Integer   Âpublicstatic<K, V> Stream<V>   ÂconvertMapToStream(Map<K, V> map)   Â{       Â// Return the obtained Stream       Âreturnmap           Â// Convert the Map to Set<Value>           Â.values()           Â// Convert the Set to Stream           Â.stream();   Â}   Âpublicstaticvoidmain(String args[])   Â{       Â// Create a Map       ÂMap<Integer, String> map =newHashMap<>();       Â// Add entries to the Map       Âmap.put(1,"Geeks");       Âmap.put(2,"forGeeks");       Âmap.put(3,"A computer Portal");       Â// Print the Map       ÂSystem.out.println("Map: "+ map);       Â// Convert the Map to Stream       ÂStream<String> stream = convertMapToStream(map);       Â// Print the TreeMap       ÂSystem.out.println("Stream: "                    Â+ Arrays.toString(stream.toArray()));   Â}}Output:Map: {1=Geeks, 2=forGeeks, 3=A computer Portal} Stream: [Geeks, forGeeks, A computer Portal]
