溫馨提示×

Java中flatmap的作用是什么

小億
229
2024-02-05 12:49:37
欄目: 編程語言

在Java中,flatMap是一個(gè)中間操作,它的作用是將流中的每個(gè)元素映射到另一個(gè)流,然后將這些流合并成一個(gè)流。

具體來說,flatMap操作的輸入是一個(gè)流,輸出是一個(gè)新的流。對于輸入流中的每個(gè)元素,flatMap將其映射為另一個(gè)流,然后將這些流合并成一個(gè)流。這個(gè)合并后的流包含了所有映射流的元素。

通過使用flatMap操作,可以扁平化流的結(jié)構(gòu)。例如,如果原始流中的每個(gè)元素是一個(gè)列表,使用flatMap操作將把這些列表合并成一個(gè)流,而不是嵌套的流。這樣可以簡化處理流的操作,使代碼更加清晰和簡潔。

下面是一個(gè)示例,演示了flatMap操作的用法:

List<List<Integer>> numbers = Arrays.asList(
    Arrays.asList(1, 2, 3),
    Arrays.asList(4, 5, 6),
    Arrays.asList(7, 8, 9)
);

List<Integer> flattenedNumbers = numbers.stream()
    .flatMap(List::stream)
    .collect(Collectors.toList());

System.out.println(flattenedNumbers); // 輸出 [1, 2, 3, 4, 5, 6, 7, 8, 9]

在上面的示例中,原始流numbers中的每個(gè)元素是一個(gè)列表。我們使用flatMap操作將這些列表合并成一個(gè)流,然后將合并后的流收集到一個(gè)新的列表中。最終輸出的flattenedNumbers列表包含了所有元素,而不是嵌套的列表。

0