java Stream faltMap
时间: 2024-12-07 07:03:09 浏览: 9
练习十三-java stream
`java Stream` 的 `flatMap` 方法是一个高阶流操作,它将每个元素通过函数转换为一个流,然后合并所有流的结果成一个新的流。`flatMap` 的作用类似于扁平化(Flattening),它可以处理嵌套的集合并将其展开。
举个例子,如果你有一个列表,其中每个元素都是另一个列表,你可以使用 `flatMap` 来获取总共有多少个元素,而不是一个个地遍历嵌套的列表:
```java
List<List<String>> nestedLists = Arrays.asList(
Arrays.asList("a", "b"),
Arrays.asList("c", "d", "e")
);
Stream<String> flatMappedStream = nestedLists.stream()
.flatMap(List::stream); // 使用 List 的 stream() 方法转换每个内部列表
List<String> flattenedList = flatMappedStream.collect(Collectors.toList());
```
在这个例子中,`flatMap(List::stream)` 将所有的字符串收集到一个新的流中,最后 `collect` 方法将这个新流转化为一个列表。
阅读全文