Java Stream 合并 List

在Java编程中,经常会遇到需要合并多个列表的情况。在Java 8之后,引入了Stream API,通过Stream API可以更加方便地进行列表的合并操作。本文将介绍使用Java Stream合并List的方法,并给出代码示例。

Stream API简介

Stream API是Java 8引入的一种新的处理集合数据的方式。它提供了丰富的方法来对集合进行过滤、映射、排序等操作。Stream API提供了一种更加简洁和可读的编程方式,能够更好地表达数据的处理逻辑。

合并List的方法

在Java中,我们可以使用Stream API中的flatMap方法来合并多个列表。flatMap方法可以将一个Stream中的每个元素转换成一个新的Stream,并将所有的新Stream合并成一个。

下面是一个使用flatMap方法合并List的示例代码:

import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;

public class ListMergeExample {
    public static void main(String[] args) {
        List<List<Integer>> lists = new ArrayList<>();
        List<Integer> list1 = List.of(1, 2, 3);
        List<Integer> list2 = List.of(4, 5, 6);
        List<Integer> list3 = List.of(7, 8, 9);
        
        lists.add(list1);
        lists.add(list2);
        lists.add(list3);
        
        List<Integer> mergedList = lists.stream()
                                       .flatMap(List::stream)
                                       .collect(Collectors.toList());
        
        System.out.println(mergedList);
    }
}

在上面的示例中,我们创建了三个List,分别是list1list2list3。然后我们将这三个List添加到一个List中,即lists。接着,我们使用flatMap方法将lists中每个List转换成一个新的Stream,并将所有新的Stream合并成一个。最后,我们使用collect方法将合并后的Stream转换成一个List,并打印输出。

运行上述代码,输出结果为:

[1, 2, 3, 4, 5, 6, 7, 8, 9]

总结

通过使用Java Stream的flatMap方法,我们可以方便地合并多个列表。Stream API提供了一种更加简洁和可读的方式来处理集合数据,使得代码更加易于理解和维护。

希望本文对你了解Java Stream合并List有所帮助!如果你对Java Stream还想了解更多,可以继续深入学习相关的API和用法。

journey
    title Java Stream 合并 List
    section 常见问题
        合并多个列表
    section 解决方案
        使用Java Stream API中的flatMap方法
    section 示例代码
        ```java
        List<List<Integer>> lists = new ArrayList<>();
        List<Integer> list1 = List.of(1, 2, 3);
        List<Integer> list2 = List.of(4, 5, 6);
        List<Integer> list3 = List.of(7, 8, 9);
        
        lists.add(list1);
        lists.add(list2);
        lists.add(list3);
        
        List<Integer> mergedList = lists.stream()
                                       .flatMap(List::stream)
                                       .collect(Collectors.toList());
        
        System.out.println(mergedList);
        ```
    section 运行结果
        ```
        [1, 2, 3, 4, 5, 6, 7, 8, 9]
        ```
    section 总结
        Java Stream的flatMap方法可以方便地合并多个列表,提供了一种简洁和可读的方式来处理集合数据。