java 如何拼接list
拼接 List 的方法
在 Java 中,拼接多个 List 可以通过多种方式实现,以下是常见的几种方法:
使用 addAll() 方法
通过 addAll() 方法可以将一个 List 的所有元素添加到另一个 List 中。
示例代码:
List<String> list1 = new ArrayList<>(Arrays.asList("A", "B"));
List<String> list2 = new ArrayList<>(Arrays.asList("C", "D"));
list1.addAll(list2);
System.out.println(list1); // 输出: [A, B, C, D]
使用 Java 8 的 Stream
通过 Stream 的 concat() 和 collect() 方法合并多个 List。
示例代码:
List<String> list1 = Arrays.asList("A", "B");
List<String> list2 = Arrays.asList("C", "D");
List<String> mergedList = Stream.concat(list1.stream(), list2.stream())
.collect(Collectors.toList());
System.out.println(mergedList); // 输出: [A, B, C, D]
使用 List.of()(Java 9+)
通过 List.of() 和 flatMap() 合并多个 List。
示例代码:
List<String> list1 = List.of("A", "B");
List<String> list2 = List.of("C", "D");
List<String> mergedList = Stream.of(list1, list2)
.flatMap(List::stream)
.collect(Collectors.toList());
System.out.println(mergedList); // 输出: [A, B, C, D]
使用 Apache Commons Collections
如果项目中引入了 Apache Commons Collections,可以使用 ListUtils.union() 方法。
示例代码:
List<String> list1 = Arrays.asList("A", "B");
List<String> list2 = Arrays.asList("C", "D");
List<String> mergedList = ListUtils.union(list1, list2);
System.out.println(mergedList); // 输出: [A, B, C, D]
使用 Collections.addAll()
通过 Collections.addAll() 方法将多个 List 合并到一个新的 List 中。
示例代码:

List<String> list1 = Arrays.asList("A", "B");
List<String> list2 = Arrays.asList("C", "D");
List<String> mergedList = new ArrayList<>();
Collections.addAll(mergedList, list1.toArray(new String[0]));
Collections.addAll(mergedList, list2.toArray(new String[0]));
System.out.println(mergedList); // 输出: [A, B, C, D]
注意事项
- 如果
List包含重复元素且需要去重,可以在合并后使用Stream.distinct()方法。 - 对于不可变
List(如List.of()创建的List),需要使用新的List接收合并结果。 - 根据性能需求选择合适的方法,
addAll()通常效率较高,而Stream更灵活。






