在Java中将 Map 转换为 Stream 的程序
Stream 是一系列支持各种方法的对象,这些方法可以流水线化以产生所需的结果。
以下是在Java中将 Map 转换为 Stream 的各种方法:
- 将完整的 Map
转换为 Stream :这可以在 Map.entrySet() 方法的帮助下完成,该方法返回此映射中包含的映射的 Set 视图。在Java 8 中,可以使用 Set.stream() 方法轻松地将返回的集合转换为键值对流。算法:
- 获取地图<键,值>。
- 使用 Map.entrySet() 方法将 Map
转换为 Set 。 - 使用 Set.stream() 将获得的 Set 转换为 Stream
- 返回/打印地图流。
程序:
// 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]
- 仅将 Map
的 Keyset 转换为 Stream :这可以在 Map.keySet() 方法的帮助下完成,该方法返回此映射中包含的键的 Set 视图。在Java 8 中,可以使用 Set.stream() 方法轻松地将返回的集合转换为键值对流。算法:
- 获取地图<键,值>。
- 使用 Map.keySet() 方法将 Map
转换为 Set 。 - 使用 Set.stream() 将获得的 Set 转换为 Stream
- 返回/打印地图流。
程序:
// 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]
- 仅将 Map
的值转换为 Stream :这可以在 Map.values() 方法的帮助下完成,该方法返回此映射中包含的值的 Set 视图。在Java 8 中,可以使用 Set.stream() 方法轻松地将返回的集合转换为键值对流。算法:
- 获取地图<键,值>。
- 使用 Map.values() 方法将 Map
转换为 Set 。 - 使用 Set.stream() 将获得的 Set 转换为 Stream
- 返回/打印地图流。
程序:
// 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]