java中如何将list下的多个list合并成一个
时间: 2023-11-23 10:06:42 浏览: 180
详解Java8合并两个Map中元素的正确姿势
可以使用Java 8中的Stream API来实现将List中的多个List合并成一个List。
假设有一个List<List<String>>,其中每个内部List都包含一些字符串,现在需要将它们合并成一个List<String>,可以使用以下代码:
```
List<List<String>> nestedList = ...; // 原始的嵌套列表
List<String> mergedList = nestedList.stream()
.flatMap(List::stream)
.collect(Collectors.toList());
```
代码解析:
1. 调用stream()方法将List<List<String>>转换成Stream<List<String>>。
2. 调用flatMap()方法将每个内部List中的元素打平成一个Stream<String>。
3. 调用collect()方法将所有字符串收集到一个List<String>中。
注意:这种方式会创建一个新的List对象,如果原始的List中包含大量的元素,可能会导致内存占用过高。如果需要避免这种情况,可以使用Java 8中提供的parallelStream()方法来并行处理元素,或者使用传统的for循环来处理。
阅读全文