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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。