Java 里,“把集合中的子集合合并成一个集合”是一个非常常见的需求,不同场景有不同的最优写法
一、List 中的子 List 合并成一个 List
1、使用 Stream(最推荐,Java 8+)
List<List<String>> listOfLists = List.of(
List.of("A", "B"),
List.of("C", "D"),
List.of("E")
);
List<String> result = listOfLists.stream()
.flatMap(List::stream)
.toList(); // Java 16+,或 collect(Collectors.toList())
System.out.println(result);
// [A, B, C, D, E]2、传统 for 循环(性能好、可读性强)
List<String> result = new ArrayList<>();
for (List<String> subList : listOfLists) {
result.addAll(subList);
}3、使用 DoubleBrace(不推荐)
List<String> result = new ArrayList<String>() {{
for (List<String> sub : listOfLists) addAll(sub);
}};