介绍
在 Java 中,ArrayList 是集合框架中 List 接口的一个实现类,用于存储数据。合并两个 ArrayList 实际上是将两个 ArrayList 的元素组合成一个 ArrayList 的过程。当我们需要将多个数据流收集到一个流中时,这一操作非常有用。
在 Java 中,ArrayList 是集合框架中 List 接口的一个实现类,用于存储数据。合并两个 ArrayList 实际上是将两个 ArrayList 的元素组合成一个 ArrayList 的过程。当我们需要将多个数据流收集到一个流中时,这一操作非常有用。
首先,让我们创建两个需要合并的 ArrayLists。以下是一个创建两个整数类型 ArrayLists 的示例:
import java.util.ArrayList;
import java.util.Arrays;
public class Main {
public static void main(String[] args){
ArrayList<Integer> arrList1 = new ArrayList<>();
arrList1.add(1030);
arrList1.add(1020);
arrList1.add(1010);
arrList1.add(1040);
System.out.println(arrList1);
ArrayList<Integer> arrList2 = new ArrayList<>(Arrays.asList(1050,1060,1070));
System.out.println(arrList2);
}
}
要运行此代码,请在终端中输入以下命令:
javac Main.java && java Main
这将输出以下内容:
[1030, 1020, 1010, 1040]
[1050, 1060, 1070]
要使用 addAll()
方法合并两个 ArrayLists,请参考以下代码:
import java.util.ArrayList;
import java.util.Arrays;
public class Main {
public static void main(String[] args){
ArrayList<Integer> arrList1 = new ArrayList<>();
arrList1.add(1030);
arrList1.add(1020);
arrList1.add(1010);
arrList1.add(1040);
System.out.println(arrList1);
ArrayList<Integer> arrList2 = new ArrayList<>(Arrays.asList(1050,1060,1070));
System.out.println(arrList2);
// Joining two ArrayList
arrList1.addAll(arrList2);
System.out.println("After Joining:");
System.out.println(arrList1);
}
}
要运行此代码,请在终端中输入以下命令:
javac Main.java && java Main
这将输出以下内容:
[1030, 1020, 1010, 1040]
[1050, 1060, 1070]
After Joining:
[1030, 1020, 1010, 1040, 1050, 1060, 1070]
我们也可以通过使用 flatMap()
方法和 distinct()
方法来合并两个 ArrayLists,具体代码如下:
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;
public class Main {
public static void main(String[] args){
ArrayList<Integer> arrList1 = new ArrayList<>();
arrList1.add(1030);
arrList1.add(1020);
arrList1.add(1010);
arrList1.add(1040);
System.out.println(arrList1);
ArrayList<Integer> arrList2 = new ArrayList<>(Arrays.asList(1050,1030,1070));
System.out.println(arrList2);
// Joining two ArrayList
List<Integer> arrList3 = Stream.of(arrList1, arrList2)
.flatMap(Collection::stream)
.distinct()
.collect(Collectors.toList());
System.out.println("After Joining:");
System.out.println(arrList3);
}
}
要运行此代码,请在终端中输入以下命令:
javac Main.java && java Main
这将输出以下内容:
[1030, 1020, 1010, 1040]
[1050, 1030, 1070]
After Joining:
[1030, 1020, 1010, 1040, 1050, 1070]
以下是 Java 中合并两个 ArrayLists 的完整代码:
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;
public class Main {
public static void main(String[] args){
ArrayList<Integer> arrList1 = new ArrayList<>();
arrList1.add(1030);
arrList1.add(1020);
arrList1.add(1010);
arrList1.add(1040);
System.out.println(arrList1);
ArrayList<Integer> arrList2 = new ArrayList<>(Arrays.asList(1050,1030,1070));
System.out.println(arrList2);
// Joining two ArrayList
List<Integer> arrList3 = Stream.of(arrList1, arrList2)
.flatMap(Collection::stream)
.distinct()
.collect(Collectors.toList());
System.out.println("After Joining:");
System.out.println(arrList3);
}
}
要运行代码,请在终端中输入以下命令:
javac Main.java && java Main
这将输出以下内容:
[1030, 1020, 1010, 1040]
[1050, 1030, 1070]
After Joining:
[1030, 1020, 1010, 1040, 1050, 1070]
在本实验中,我们向你展示了如何使用 List 的 addAll()
方法和流 API 的 flatMap()
方法在 Java 中合并两个 ArrayLists。我们还展示了如何从两个不同的 ArrayLists 中合并唯一元素的示例。希望本实验对你有所帮助!