Stream.of.flatMap
时间: 2024-01-09 08:21:58 浏览: 124
`flatMap`是Java 8中`Stream`类的一个方法,它接受一个函数作为参数,并将其应用于流中的每个元素。与`map`方法不同的是,`flatMap`方法返回的是一个新的流,而不是一个指定类型的值。
`flatMap`方法的函数参数是一个`Function`,它将流中的每个元素映射为一个新的流。然后,`flatMap`方法将这些新的流合并成一个单一的流。这意味着,如果原始流中有n个元素,而每个元素映射为一个新的流,那么最终的流将包含n个新的流中的所有元素。
下面是一个示例,演示了如何使用`flatMap`方法:
```java
import java.util.Arrays;
import java.util.List;
import java.util.stream.Stream;
public class Main {
public static void main(String[] args) {
List<String> list1 = Arrays.asList("Hello", "World");
List<String> list2 = Arrays.asList("Java", "Stream");
Stream<List<String>> stream = Stream.of(list1, list2);
Stream<String> flatStream = stream.flatMap(List::stream);
flatStream.forEach(System.out::println);
}
}
```
输出结果为:
```
Hello
World
Java
Stream
```
在上面的示例中,我们首先创建了两个字符串列表`list1`和`list2`。然后,我们使用`Stream.of`方法将这两个列表转换为一个流。接下来,我们使用`flatMap`方法将这个流中的每个列表映射为一个新的流,并将这些新的流合并成一个单一的流。最后,我们使用`forEach`方法打印出最终的流中的所有元素。
阅读全文