📌  相关文章
📜  在Java中将 Map 转换为 Stream 的程序

📅  最后修改于: 2022-05-13 01:54:21.516000             🧑  作者: Mango

在Java中将 Map 转换为 Stream 的程序

Stream 是一系列支持各种方法的对象,这些方法可以流水线化以产生所需的结果。

以下是在Java中将 Map 转换为 Stream 的各种方法:

  1. 将完整的 Map 转换为 Stream :这可以在 Map.entrySet() 方法的帮助下完成,该方法返回此映射中包含的映射的 Set 视图。在Java 8 中,可以使用 Set.stream() 方法轻松地将返回的集合转换为键值对流。

    算法

    1. 获取地图<键,值>。
    2. 使用 Map.entrySet() 方法将 Map 转换为 Set
    3. 使用 Set.stream() 将获得的 Set 转换为 Stream
    4. 返回/打印地图流。

    程序:

    // Java Program to convert
    // Map into Stream
      
    import java.util.*;
    import java.util.stream.*;
      
    class GFG {
      
        // Generic function to convert List of
        // String to List of Integer
        public static  Stream >
        convertMapToStream(Map 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 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 > 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]
    
  2. 仅将 Map 的 Keyset 转换为 Stream :这可以在 Map.keySet() 方法的帮助下完成,该方法返回此映射中包含的键的 Set 视图。在Java 8 中,可以使用 Set.stream() 方法轻松地将返回的集合转换为键值对流。

    算法

    1. 获取地图<键,值>。
    2. 使用 Map.keySet() 方法将 Map 转换为 Set
    3. 使用 Set.stream() 将获得的 Set 转换为 Stream
    4. 返回/打印地图流。

    程序:

    // Java Program to convert
    // Map into Stream
      
    import java.util.*;
    import java.util.stream.*;
      
    class GFG {
      
        // Generic function to convert List of
        // String to List of Integer
        public static  Stream
        convertMapToStream(Map map)
        {
      
            // Return the obtained Stream
            return map
      
                // Convert the Map to Set
                .keySet()
      
                // Convert the Set to Stream
                .stream();
        }
      
        public static void main(String args[])
        {
      
            // Create a Map
            Map 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 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]
    
  3. 仅将 Map 的值转换为 Stream :这可以在 Map.values() 方法的帮助下完成,该方法返回此映射中包含的值的 Set 视图。在Java 8 中,可以使用 Set.stream() 方法轻松地将返回的集合转换为键值对流。

    算法

    1. 获取地图<键,值>。
    2. 使用 Map.values() 方法将 Map 转换为 Set
    3. 使用 Set.stream() 将获得的 Set 转换为 Stream
    4. 返回/打印地图流。

    程序:

    // Java Program to convert
    // Map into Stream
      
    import java.util.*;
    import java.util.stream.*;
      
    class GFG {
      
        // Generic function to convert List of
        // String to List of Integer
        public static  Stream
        convertMapToStream(Map map)
        {
      
            // Return the obtained Stream
            return map
      
                // Convert the Map to Set
                .values()
      
                // Convert the Set to Stream
                .stream();
        }
      
        public static void main(String args[])
        {
      
            // Create a Map
            Map 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 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]