Stream 是支持各种方法的对象序列,这些方法可以通过管道传输以产生所需的结果。
以下是 Java 中将 Map 转换为 Stream 的各种方法:
- 将完整的 Map<Key, Value> 转换为 Stream:这可以借助 Map.entrySet() 方法来完成,该方法返回此映射中包含的映射的 Set 视图。在 Java 8 中,可以使用 Set.stream() 方法将此返回的集合轻松转换为键值对流。
算法:
- 获取映射<键,值>。
- 使用 Map.entrySet() 方法将 Map<Key, Value> 转换为 Set<Key>。
- 使用Set将得到的Set转换成Stream.stream()
- 返回/打印Map流。
程序:
// Java Program to convert // Map<Key, Value> into Stream import java.util.*; import java.util.stream.*; class GFG { // Generic function to convert List of // String to List of Integer public static <K, V> Stream<Map.Entry<K, V> > convertMapToStream(Map<K, V> map) { // Return the obtained Stream return map // Convert the Map to Set .entrySet() // Convert the Set to Stream .stream(); } public static void main(String args[]) { // Create a Map Map<Integer, String> map = new HashMap<>(); // 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())); } }
输出:Map: {1=Geeks, 2=forGeeks, 3=A computer Portal} Stream: [1=Geeks, 2=forGeeks, 3=A computer Portal]
- 仅将 Map<Key, Value> 的 Keyset 转换为 Stream:这可以借助 Map.keySet() 方法来完成,该方法返回此映射中包含的键的 Set 视图。在 Java 8 中,可以使用 Set.stream() 方法将此返回的集合轻松转换为键值对流。
算法:
- 获取映射<键,值>。
- 使用 Map.keySet() 方法将 Map<Key, Value> 转换为 Set<Key>。
- 使用Set将得到的Set转换成Stream.stream()
- 返回/打印Map流。
程序:
// Java Program to convert // Map<Key, Value> into Stream import java.util.*; import java.util.stream.*; class GFG { // Generic function to convert List of // String to List of Integer public static <K, V> Stream<K> convertMapToStream(Map<K, V> map) { // Return the obtained Stream return map // Convert the Map to Set<Key> .keySet() // Convert the Set to Stream .stream(); } public static void main(String args[]) { // Create a Map Map<Integer, String> map = new HashMap<>(); // 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())); } }
输出:Map: {1=Geeks, 2=forGeeks, 3=A computer Portal} Stream: [1, 2, 3]
- 仅将 Map<Key, Value> 的 Value 转换为 Stream:这可以借助 Map.values() 方法来完成,该方法返回此映射中包含的值的 Set 视图。在 Java 8 中,可以使用 Set.stream() 方法将此返回的集合轻松转换为键值对流。
算法:
- 获取映射<键,值>。
- 使用 Map.values() 方法将 Map<Key, Value> 转换为 Set<Value>。
- 使用Set将得到的Set转换成Stream.stream()
- 返回/打印Map流。
程序:
// Java Program to convert // Map<Key, Value> into Stream import java.util.*; import java.util.stream.*; class GFG { // Generic function to convert List of // String to List of Integer public static <K, V> Stream<V> convertMapToStream(Map<K, V> map) { // Return the obtained Stream return map // Convert the Map to Set<Value> .values() // Convert the Set to Stream .stream(); } public static void main(String args[]) { // Create a Map Map<Integer, String> map = new HashMap<>(); // 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())); } }
输出:Map: {1=Geeks, 2=forGeeks, 3=A computer Portal} Stream: [Geeks, forGeeks, A computer Portal]
相关用法
- Java Map clear()用法及代码示例
- Java Map containsKey()用法及代码示例
- Java Map containsValue()用法及代码示例
- Java Map entrySet()用法及代码示例
- Java Map equals()用法及代码示例
- Java Map get()用法及代码示例
- Java Map hashCode()用法及代码示例
- Java Map isEmpty()用法及代码示例
- Java Map keySet()用法及代码示例
- Java Map put()用法及代码示例
- Java Map putAll()用法及代码示例
- Java Map remove()用法及代码示例
- Java Map Values()用法及代码示例
- Java Map size()用法及代码示例
- Java Map.Entry用法及代码示例
- Java Map用法及代码示例
- Java Math abs()用法及代码示例
- Java Math acos()用法及代码示例
- Java Math addExact()用法及代码示例
- Java Math asin()用法及代码示例
- Java Math atan()用法及代码示例
- Java Math cos()用法及代码示例
- Java Math sin()用法及代码示例
- Java Math tan()用法及代码示例
- Java Math sinh()用法及代码示例
注:本文由纯净天空筛选整理自RishabhPrabhu大神的英文原创作品 Program to convert a Map to a Stream in Java。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。