在 Java 中,有多种方法可以将两个 List 合并成一个。以下是几种常见的实现方式,每种方式都附有详细的步骤流程和示例代码。
假设我们有两个 List,分别是 list1 和 list2,我们的目标是将它们合并成一个新的 List。
这是一种简单的方式,只需使用 List 的 addAll()
方法将第二个 List 的所有元素添加到第一个 List 中。
List<T> list1 = new ArrayList<>();
List<T> list2 = new ArrayList<>();
// 添加一些元素到 list1 和 list2
list1.addAll(list2); // 将 list2 的所有元素添加到 list1 中
通过 Java 8 引入的 Stream API,我们可以将两个 List 合并成一个新的 List。
List<T> list1 = new ArrayList<>();
List<T> list2 = new ArrayList<>();
// 添加一些元素到 list1 和 list2
List<T> mergedList = Stream.concat(list1.stream(), list2.stream())
.collect(Collectors.toList());
Google Guava 库提供了合并集合的便捷方法。你需要在项目中添加 Guava 库的依赖。
Maven 依赖:
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>30.1-jre</version>
</dependency>
Gradle 依赖:
implementation 'com.google.guava:guava:30.1-jre'
然后使用 Guava 的 Iterables.concat()
方法来合并两个 List。
import com.google.common.collect.Iterables;
List<T> list1 = new ArrayList<>();
List<T> list2 = new ArrayList<>();
// 添加一些元素到 list1 和 list2
List<T> mergedList = Lists.newArrayList(Iterables.concat(list1, list2));
Apache Commons Collections 库也提供了合并集合的方法。同样,你需要添加该库的依赖。
Maven 依赖:
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-collections4</artifactId>
<version>4.5</version>
</dependency>
Gradle 依赖:
implementation 'org.apache.commons:commons-collections4:4.5'
然后使用 ListUtils.union()
方法合并两个 List。
import org.apache.commons.collections4.ListUtils;
List<T> list1 = new ArrayList<>();
List<T> list2 = new ArrayList<>();
// 添加一些元素到 list1 和 list2
List<T> mergedList = ListUtils.union(list1, list2);
无论你选择哪种方式,最终目的都是将两个 List 合并成一个新的 List。根据你的项目需要和偏好,选择合适的方式即可。