java中stream嵌套stream示例
时间: 2023-09-23 17:05:37 浏览: 116
### 回答1:
下面是一个使用嵌套stream的示例:
```
List<List<String>> lists = Arrays.asList(
Arrays.asList("a", "b", "c"),
Arrays.asList("d", "e", "f"),
Arrays.asList("g", "h", "i")
);
lists.stream()
.flatMap(lst -> lst.stream())
.forEach(System.out::println);
```
这个示例使用了stream的flatMap方法,它将外层stream中的每个元素映射到一个内层stream,然后将所有内层stream中的元素合并成一个新的stream.最后使用forEach遍历输出.
### 回答2:
在Java中,我们可以使用Stream API对集合进行操作和处理。Stream嵌套Stream是指在一个Stream中的元素是另一个Stream的情况。
下面是一个简单的Java示例,演示了如何在一个Stream中嵌套另一个Stream:
```java
import java.util.Arrays;
import java.util.List;
import java.util.stream.Stream;
public class StreamExample {
public static void main(String[] args) {
List<Integer> numbers1 = Arrays.asList(1, 2, 3);
List<Integer> numbers2 = Arrays.asList(4, 5, 6);
List<Integer> numbers3 = Arrays.asList(7, 8, 9);
Stream<List<Integer>> nestedStream = Stream.of(numbers1, numbers2, numbers3);
Stream<Integer> flattenedStream = nestedStream.flatMap(List::stream);
flattenedStream.forEach(System.out::println);
}
}
```
在上述示例中,我们首先创建了三个Integer类型的List集合,分别是numbers1、numbers2和numbers3。然后,我们使用Stream的静态方法of()将这三个List集合创建成一个Stream集合nestedStream。
接下来,我们使用flatMap()方法将嵌套的Stream转换成一个扁平化的Stream。flatMap()方法会将嵌套的Stream展开,并将其中的元素合并到一个新的Stream中。
最后,我们使用forEach()方法遍历并打印出扁平化的Stream中的每个元素。
运行以上代码,输出结果为:
1
2
3
4
5
6
7
8
9
这个例子展示了如何使用Stream嵌套Stream,它可用于处理嵌套的数据结构,提供了更灵活的数据处理方式。
阅读全文