在 Java 中连接两个 ArrayList
Array 是某些元素的集合,这些元素可以是占用相邻内存位置的任何元素。在这里,我们将相同类型的多个元素存储在一起。ArrayList 是一个可调整大小的类,与内置 Array 不同。要理解的一个基本概念是认识到 ArrayList 如何将自己与典型的 Array 区分开来,因为只有前者允许通过添加或删除其元素进行修改。重要的是,可以通过能够执行各种操作的 java.util 包轻松访问高度功能化的 ArrayList 的众多变体。在本文中,我们将演示使用 Java 语言连接两个 ArrayList 的不同方法。
语法
import java.util.ArrayList; ArrayList<String>(object name) = new ArrayList<String>();
addAll() 方法的算法
步骤 1 - 创建 ArrayList join1。
步骤 2 - 将元素添加到列表中。
步骤 3 - 打印 ArrayList 的元素。
步骤 4 - 创建另一个 ArrayList join2。
步骤 5 - 将元素添加到列表中。
步骤 6 - 打印 ArrayList 的元素。
步骤 7 - 使用 addAll 将 join2 的元素附加到 join1。
步骤 8 - 打印组合 ArrayList。
removeAll()/addAll 方法的算法
步骤 1 - 创建 ArrayList join1。
步骤 2 - 将元素添加到列表中。
步骤 3 - 打印 ArrayList 的元素。
步骤 4 - 创建另一个 ArrayList join2。
步骤 5 - 将元素添加到列表中。
步骤 6 - 打印 ArrayList 的元素。
步骤 7 - 创建另一个 ArrayList join3。
步骤8 − 将 join2 的元素添加到 join3。
步骤 9 − 删除 join1 的元素。
步骤 10 − 使用 addAll 将 join1 的元素附加到 join3。
步骤 11 − 打印组合的 ArrayList。
Stream flatMap() 方法的算法
步骤 1 − 创建 ArrayList join1。
步骤 2 − 将元素添加到列表。
步骤 3 − 打印 ArrayList 的元素。
步骤 4 − 创建另一个 ArrayList join2。
步骤 5 - 将元素添加到列表。
步骤 6 - 打印 ArrayList 的元素。
步骤 7 - 在单个流中获取 join1 和 join2 的元素。
步骤 8 - 将流元素收集到 ArrayList 中。
步骤 9 - 打印组合的 ArrayList。
LinkedHashSet() 方法的算法
步骤 1 - 创建 ArrayList join1。
步骤 2 - 将元素添加到列表。
步骤 3 - 打印 ArrayList 的元素。
步骤 4 - 创建另一个 ArrayList join2。
步骤 5 - 将元素添加到列表中。
步骤 6 - 打印 ArrayList 的元素。
步骤 7 - 将列表中的项目添加到集合中。
步骤 8 - 将集合转换为 arrayList。
步骤 9 - 打印组合数组。
方法
方法 1 - 使用 addAll()方法。
方法 2 - 使用 removeAll() / addAll() 方法。
方法 3 - 使用 flatMap() 方法。
方法 4 - 使用 LinkedHashSet() 方法。
方法 1:addAll() 方法
在此方法中,我们创建两个包含不同项目的列表,并将一个列表的元素附加到另一个列表。这里我们使用方法 addAll()。
语法
List1.addAll(List2);
示例
import java.util.ArrayList;
public class ArrayJoinAdd {
public static void main(String[] args) {
ArrayList<String> join1 = new ArrayList<String>();
join1.add("Way");
join1.add("Two");
join1.add("Class");
System.out.println("ArrayList 1: " + join1);
ArrayList<String> join2 = new ArrayList<String>();
join2.add("Education ");
join2.add("comes");
join2.add("first");
System.out.println("ArrayList 2: " + join2);
join1.addAll(join2);
System.out.println("Joined ArrayList: " + join1);
}
}
输出
ArrayList 1: [Way, Two, Class] ArrayList 2: [Education , comes, first] Joined ArrayList: [Way, Two, Class, Education , comes, first]
方法 2:RemoveAll()/AddAll() 方法
在此方法中,我们使用两个函数 RemoveAll() 和 AddAll(),删除第二个列表中的第一个列表的项目,然后将第一个列表添加到第二个列表中。
语法
List3.removeAll(List1); List1.addAll(List3);
示例
import java.util.*;
public class ArrayjoinRemove {
public static void main (String args[]){
ArrayList<String> join1 = new ArrayList<String>();
join1.add("Way");
join1.add("Two");
join1.add("Class");
System.out.println("ArrayList 1:" + join1);
ArrayList<String> join2 = new ArrayList<String>();
join2.add("Education ");
join2.add("comes");
join2.add("first");
System.out.println("ArrayList 2:" + join2);
ArrayList<String> join3 = new ArrayList<>(join2);
join3.removeAll(join1);
join1.addAll(join3);
System.out.println("Joined ArrayList" + join1);
}
}
输出
ArrayList 1:[Way, Two, Class] ArrayList 2:[Education , comes, first] [Way, Two, Class, Education , comes, first]
方法 3:Stream flatMap() 方法
Stream flatMap() 方法从单个流中的不同列表中获取项目,然后将流元素收集到 ArrayList 中。
语法
List<String> (combined array)= Stream.of(List1,List2) .flatMap(x -> x.stream()) .collect(Collectors.toList());
示例
import java.util.*;
import java.util.stream.Stream;
import java.util.stream.Collectors;
import java.util.Arrays;
import java.util.List;
public class ArrayjoinflatMap {
public static void main (String args[]){
ArrayList<String> join1 = new ArrayList<String>();
join1.add("Way");
join1.add("Two");
join1.add("Class");
System.out.println("ArrayList 1:" + join1);
ArrayList<String> join2 = new ArrayList<String>();
join2.add("Education ");
join2.add("comes");
join2.add("first");
System.out.println("ArrayList 2:" + join2);
List<String> finalJoin = Stream.of(join1,join2)
.flatMap(x -> x.stream())
.collect(Collectors.toList());
System.out.println(finalJoin);
}
}
输出
ArrayList 1:[Way, Two, Class] ArrayList 2:[Education , comes, first] [Way, Two, Class, Education , comes, first]
方法 4:LinkedHashSet() 方法
在此方法中,我们使用 LinkedHashSet() 创建一个集合,并将元素推送到集合中。此集合表示组合的 arrayList,由所有唯一元素组成。
语法
Set <String> set = new LinkedHashSet<>(List1); set.addAll(List2); ArrayList<String> combinedList = new ArrayList<> (set);
示例
import java.util.*;
import java.util.stream.Stream;
import java.util.stream.Collectors;
import java.util.Arrays;
import java.util.List;
public class ArrayjoinLinkedHashSet {
public static void main (String args[]){
ArrayList<String> join1 = new ArrayList<String>();
join1.add("Way");
join1.add("Two");
join1.add("Class");
System.out.println("ArrayList 1:" + join1);
ArrayList<String> join2 = new ArrayList<String>();
join2.add("Education ");
join2.add("comes");
join2.add("first");
System.out.println("ArrayList 2:" + join2);
Set <String> set = new LinkedHashSet<>(join1);
set.addAll(join2);
ArrayList<String> finalJoin = new ArrayList<> (set);
System.out.println(finalJoin);
}
}
输出
ArrayList 1:[Way, Two, Class] ArrayList 2:[Education , comes, first] [Way, Two, Class, Education , comes, first]
结论
在上面的文章中,我们讨论了一些添加两个或多个 ArrayList 并打印它们的简单方法。这些 ArrayList 可以根据用户的要求与上述方法组合,这意味着如果我们不希望重复的项目成为组合列表的一部分,我们可以通过 removeAll() 和 addAll() 等方法消除它们。这些简单的方法使我们更容易理解如何连接或合并这些 ArrayList。
相关文章
有用资源
java 参考教程 - 该教程包含有关 java 的更多信息:https://www.cainiaomax.com/java/

