java stream 合并list
时间: 2023-05-10 10:50:24 浏览: 663
Java Stream是Java 8中的一个新特性,它提供了一种非常强大的功能,能够让我们以一种更简单、更简洁的方式来处理集合数据。Java Stream可以被看作是函数式编程的一个重要组成部分,可以非常方便地对集合进行处理和转换。
在Java Stream中,我们可以使用flatMap()方法来合并多个列表。flatMap()方法接受一个函数作为参数,这个函数将一个元素转换为一个流,然后将这些流进行扁平化,最终将它们合并成一个流。具体操作步骤如下:
1.将多个列表转化为一个流。
2.对这个流进行flatMap()操作,将其中的元素扁平化为一个个字符串,也就是我们所说的字符串流。
3.然后再将这个流转化回一个列表。
示例代码如下:
```
List<List<Integer>> lists = new ArrayList<>();
lists.add(Arrays.asList(1, 2, 3));
lists.add(Arrays.asList(4, 5, 6));
lists.add(Arrays.asList(7, 8, 9));
List<Integer> result = lists.stream()
.flatMap(Collection::stream)
.collect(Collectors.toList());
```
在上面的代码中,我们首先定义了三个列表,然后通过stream()方法将它们转化为一个流。接着,我们使用flatMap()方法将其中的元素扁平化为一个Integer类型的流,然后再将这个流转化回一个列表。
这样,我们就成功地将多个列表合并成了一个列表,并且代码也非常简洁和易于理解。这种方式不仅能够提高我们的代码效率和可读性,而且还能够使我们的代码更加容易维护和扩展。
阅读全文