Java中的flatMap
是一個用于將多個流合并為一個流的操作,同時它還可以對每個流中的元素進行扁平化處理。flatMap
的主要功能如下:
合并多個流:flatMap
可以將多個流合并為一個流,這些流可以是同一數據源的流,也可以是不同數據源的流。
扁平化處理:flatMap
可以對每個流中的元素進行扁平化處理,即將嵌套的流或集合轉換為一個單一的流。這對于處理嵌套的數據結構非常有用。
映射操作:flatMap
可以與映射操作(如map
)結合使用,以實現對每個流中元素的轉換和處理。
以下是一個簡單的示例,展示了如何使用flatMap
將一個二維數組轉換為一個一維數組:
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
public class FlatMapExample {
public static void main(String[] args) {
int[][] nestedArray = {{1, 2}, {3, 4}, {5, 6}};
List<Integer> flattenedList = Arrays.stream(nestedArray)
.flatMap(Arrays::stream)
.collect(Collectors.toList());
System.out.println(flattenedList); // 輸出:[1, 2, 3, 4, 5, 6]
}
}
在這個示例中,我們首先將二維數組轉換為一個流,然后使用flatMap
將每個一維數組轉換為一個流,最后將所有流合并為一個流并將其收集到一個列表中。