如何在 Java 中连接两个列表
通常,在执行任何程序之前,我们必须将几个列表合并成一个。有不少不同的方法来合并两个列表或将它们合并成更大的列表。我们将在本文中查看两种在 Java 中合并两个列表的快速方法,你可以进一步扩展这两种方法来合并或执行任何数量的列表。Array-List 或基于 Java 的链接列表。
合并许多集合的一种方法是使用 java.util collection
类的 addAll()
函数,它可以帮助你将一个列表的内容添加到另一个列表。通过使用 addAll()
函数,你可以将内容分配给任意多的列表,这也是合并许多列表的最简单方法。
另外,为了更好的理解,还解释了一些其他方法。
- 使用
Stream
- 使用参数化构造函数
- 使用预定列表和
addAll()
在 Java 中使用流 Stream
来连接两个列表
Java 8 版中的流让我们可以只用一句话解决大部分的问题,同时,代码看起来也很干净。一个项目的排列,支撑着不同的策略,而这些策略可以通过管道来创建理想的结果流
。在下面提到的解决方案中,lst.stream()
将列表转换为 Stream
数据类型,然后 Stream.concat(Strem1,Stream2)
将两个不同的 Stream
对象连接起来,然后 Stream.collect(collectors.toList)
将 Stream
对象转换为列表对象。
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;
public class Abc {
public static void main(String[] args) {
List<String> list1,list2;
list1=new ArrayList<String>();
list2=new ArrayList<String>();
list1.add("1");
list1.add("2");
list1.add("3");
list1.add("4");
list2.add("5");
list2.add("6");
list2.add("7");
list2.add("8");
for(int i=0;i<list1.size();i++)
{
System.out.print(list1.get(i)+" ");
}
System.out.println();
for(int i=0;i<list2.size();i++)
{
System.out.print(list2.get(i)+" ");
}
System.out.println();
//first Solution
List<String> resultList1 = Stream.concat(list1.stream(), list2.stream()).collect(Collectors.toList());
//first Solution Prints
System.out.println("first Solution Prints");
for(int i=0;i<resultList1.size();i++)
{
System.out.print(resultList1.get(i)+" ");
}
System.out.println();
}
}
在 Java 中使用参数化构造函数 (parameterize constructor) 来连接两个列表
List<String> newList = new ArrayList<String>(listOne);
将通过调用参数化构造函数创建一个列表,该构造函数将给定的列表复制到新的列表对象中,然后 newList.addAll(listTwo);
将一个列表(list2
)追加到新声明的列表中。
import java.util.ArrayList;
import java.util.List;
public class Abc {
public static void main(String[] args) {
List<String> list1,list2;
list1=new ArrayList<String>();
list2=new ArrayList<String>();
list1.add("1");
list1.add("2");
list1.add("3");
list1.add("4");
list2.add("5");
list2.add("6");
list2.add("7");
list2.add("8");
for(int i=0;i<list1.size();i++)
{
System.out.print(list1.get(i)+" ");
}
System.out.println();
for(int i=0;i<list2.size();i++)
{
System.out.print(list2.get(i)+" ");
}
System.out.println();
// Second Solution
List<String> resultList2 = new ArrayList<String>(list1);
resultList2.addAll(list2);
//Second Solution Prints
System.out.println("Second Solution Prints");
for(int i=0;i<resultList2.size();i++)
{
System.out.print(resultList2.get(i)+" ");
}
System.out.println();
}
}
在 Java 中使用 predeclared new array
来连接两个列表
当 resultList3
是预定义的,或者可以这样做 List<String> resultList3;
在声明了 n 个结果列表后,那么 newList = new ArrayList<String>(list1)
将通过将 list1
的元素复制到新数组中来初始化新数组。(list).addAll(list2);
将 list2
的元素追加到 list1
中。
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;
public class Abc {
public static void main(String[] args) {
List<String> list1,list2;
list1=new ArrayList<String>();
list2=new ArrayList<String>();
list1.add("1");
list1.add("2");
list1.add("3");
list1.add("4");
list2.add("5");
list2.add("6");
list2.add("7");
list2.add("8");
for(int i=0;i<list1.size();i++)
{
System.out.print(list1.get(i)+" ");
}
System.out.println();
for(int i=0;i<list2.size();i++)
{
System.out.print(list2.get(i)+" ");
}
System.out.println();
//third Solution
List<String> resultList3;
(resultList3 = new ArrayList<String>(list1)).addAll(list2);
//Third Solution Prints
System.out.println("Third Solution Prints");
for(int i=0;i<resultList3.size();i++)
{
System.out.print(resultList3.get(i)+" ");
}
System.out.println();
}
}
相关文章
如何在 Java 中延迟几秒钟的时间
发布时间:2023/12/17 浏览次数:217 分类:Java
-
本篇文章主要介绍如何在 Java 中制造程序延迟。本教程介绍了如何在 Java 中制造程序延时,并列举了一些示例代码来了解它。
如何在 Java 中把 Hashmap 转换为 JSON 对象
发布时间:2023/12/17 浏览次数:187 分类:Java
-
它描述了允许我们将哈希图转换为简单的 JSON 对象的方法。本文介绍了在 Java 中把 Hashmap 转换为 JSON 对象的方法。我们将看到关于创建一个 hashmap,然后将其转换为 JSON 对象的详细例子。
如何在 Java 中按值排序 Map
发布时间:2023/12/17 浏览次数:171 分类:Java
-
本文介绍了如何在 Java 中按值对 Map 进行排序。本教程介绍了如何在 Java 中按值对 Map
进行排序,并列出了一些示例代码来理解它。
如何在 Java 中打印 HashMap
发布时间:2023/12/17 浏览次数:192 分类:Java
-
本帖介绍了如何在 Java 中打印 HashMap。本教程介绍了如何在 Java 中打印 HashMap 元素,还列举了一些示例代码来理解这个主题。
在 Java 中更新 Hashmap 的值
发布时间:2023/12/17 浏览次数:146 分类:Java
-
本文介绍了如何在 Java 中更新 HashMap 中的一个值。本文介绍了如何在 Java 中使用 HashMap 类中包含的两个方法-put() 和 replace() 更新 HashMap 中的值。
Java 中的 hashmap 和 map 之间的区别
发布时间:2023/12/17 浏览次数:79 分类:Java
-
本文介绍了 Java 中的 hashmap 和 map 接口之间的区别。本教程介绍了 Java 中 Map 和 HashMap 之间的主要区别。在 Java 中,Map 是用于以键值对存储数据的接口,
在 Java 中获取用户主目录
发布时间:2023/12/17 浏览次数:218 分类:Java
-
这篇文章向你展示了如何在 Java 中获取用户主目录。本教程介绍了如何在 Java 中获取用户主目录,并列出了一些示例代码以指导你完成该主题。
Java 中 size 和 length 的区别
发布时间:2023/12/17 浏览次数:179 分类:Java
-
这篇文章教你如何知道 Java 中大小和长度之间的区别。本教程介绍了 Java 中大小和长度之间的区别。我们还列出了一些示例代码以帮助你理解该主题。
Java 中的互斥锁
发布时间:2023/12/17 浏览次数:111 分类:Java
-
了解有关 Java 中互斥锁的一切,在计算机科学领域,互斥或互斥被称为并发控制的属性。每台计算机都使用称为线程的最小程序指令序列。有一次,计算机在一个线程上工作。为了更好地理解,