Java 基础教程

Java 面向对象

Java 高级教程

Java 笔记

Java FAQ

java两个list合并成一个


在 Java 中,有多种方法可以将两个 List 合并成一个。以下是几种常见的实现方式,每种方式都附有详细的步骤流程和示例代码。

假设我们有两个 List,分别是 list1 和 list2,我们的目标是将它们合并成一个新的 List。

使用 addAll() 方法

这是一种简单的方式,只需使用 List 的 addAll() 方法将第二个 List 的所有元素添加到第一个 List 中。

List<T> list1 = new ArrayList<>();
List<T> list2 = new ArrayList<>();

// 添加一些元素到 list1 和 list2

list1.addAll(list2); // 将 list2 的所有元素添加到 list1 中

使用 Java Stream API

通过 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());

使用 Guava 库

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 库

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。根据你的项目需要和偏好,选择合适的方式即可。

下面我将介绍三种常见的方式,包括使用循环、使用`addAll()`方法和使用JavaStream。使用`addAll()`方法将第二个Lis ...
以下是这些方法:###使用循环遍历这是一种最基本的方法,通过循环遍历两个数组,将元素一个一个地添加到一个新的数组中。示例代码:###使用Ja ...
对于依赖,我会提供一些常见的第三方库,并给出它们在Maven和Gradle中的依赖坐标。###方法一:使用addAll()方法这是最简单的方 ...
为了演示方便,我们假设你要合并的两个Map的类型都是`Map<String,String>`。###使用putAll方法这是最简单的方法之一 ...
假设我们有两个List对象:`list1`和`list2`,它们都包含了一些元素。###使用StreamAPI使用Java8引入的Strea ...