Java

Java中flatmap的用法是什么

小亿
229
2024-02-05 12:56:39
栏目: 编程语言

在Java中,flatMap是Stream接口的一个方法,用于将一个流中的每个元素映射为另一个流,并将所有生成的流合并为一个流。它的使用方法如下:

<R> Stream<R> flatMap(Function<? super T,? extends Stream<? extends R>> mapper)

其中,mapper参数是一个函数,它将输入流的元素映射为另一个流。flatMap方法会遍历输入流的每个元素,并将每个元素传递给mapper函数,然后将生成的流合并为一个流返回。

下面是一个简单的示例,说明flatMap的用法:

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

List<List<Integer>> listOfLists = Arrays.asList(numbers1, numbers2, numbers3);

List<Integer> flattenedList = listOfLists.stream()
                                        .flatMap(List::stream)
                                        .collect(Collectors.toList());

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

在上面的示例中,我们首先创建了一个包含三个列表的列表。然后使用flatMap方法将每个子列表转换为一个流,再将所有生成的流合并为一个流。最后,我们使用collect方法将合并后的流转换为一个列表。

通过使用flatMap方法,我们可以方便地将多个列表合并为一个列表,或者将多个流合并为一个流,以便进行后续的操作。

0
看了该问题的人还看了