📜  连接两个列表的Java程序

📅  最后修改于: 2022-05-13 01:54:45.807000             🧑  作者: Mango

连接两个列表的Java程序

连接两个列表意味着将两个列表合并为一个列表。

考虑给定的列表:

清单 1

清单 2

连接后的列表

有几种方法可以执行串联操作:

  1. 使用 addAll() 方法
  2. 使用流
  3. 使用 union()

方法一:使用addAll()方法

句法:

addAll ( list name ) 

此方法以列表的名称作为参数,并按照与原始列表相同的顺序添加指定列表的所有元素。

  • 创建一个新的空列表(concatenated_list)
  • 使用 addAll() 方法将给定的 list1 和 list2 连接到新创建的列表中。

执行上述步骤后,我们的空列表现在包含两个列表。

Java
// Java Program to Concatenate Two List
// using addAll() method
  
import java.io.*;
import java.util.ArrayList;
import java.util.List;
  
public class GFG {
  
    public static void main(String[] args)
    {
        // given list 1
        List list1 = new ArrayList();
        list1.add(1);
        list1.add(2);
        list1.add(3);
        list1.add(4);
        
        // given list 2
        List list2 = new ArrayList();
        list2.add(5);
        list2.add(6);
        list2.add(7);
        list2.add(8);
  
        // creating new empty list
        List concatenated_list
            = new ArrayList();
  
        // using addAll( ) method to concatenate the lists
        concatenated_list.addAll(list1);
        concatenated_list.addAll(list2);
  
        System.out.println("list1: " + list1);
        System.out.println("list2: " + list2);
        System.out.println("Concatenated list: "
                           + concatenated_list);
    }
}


Java
// Java Program to Concatenate Two List 
// using streams
  
import java.io.*;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;
  
public class GFG {
  
    public static void main(String[] args)
    {
        // given list 1
        List list1 = new ArrayList();
        list1.add(1);
        list1.add(2);
        list1.add(3);
        list1.add(4);
        
        // given list 2
        List list2 = new ArrayList();
        list2.add(5);
        list2.add(6);
        list2.add(7);
        list2.add(8);
  
        // creating new empty list
        List concatenated_list = new ArrayList();
  
        // using Stream.concat() method to concatenate the lists
        concatenated_list = Stream.concat(list1.stream(), list2.stream())
                  .collect(Collectors.toList());
  
        System.out.println("list1: " + list1);
        System.out.println("list2: " + list2);
        System.out.println("Concatenated list: "+ concatenated_list);
        
    }
}


Java
// Java program to concatenate two lists
// using union()
  
import java.io.*;
import java.util.*;
import java.lang.*;
import org.apache.commons.collections.ListUtils;
  
public class GFG {
  
    public static void main(String[] args)
    {
        // given list 1
        List list1 = new ArrayList();
        list1.add(1);
        list1.add(2);
        list1.add(3);
        list1.add(4);
  
        // given list 2
        List list2 = new ArrayList();
        list2.add(5);
        list2.add(6);
        list2.add(7);
        list2.add(8);
  
        // creating new empty list
        List concatenated_list = new ArrayList();
  
        // using ListUtils.union() method to concatenate
        // the lists
        concatenated_list = ListUtils.union(list1, list2);
  
        System.out.println("list1: " + list1);
        System.out.println("list2: " + list2);
        System.out.println("Concatenated list: "
                           + concatenated_list);
    }
}


输出
list1: [1, 2, 3, 4]
list2: [5, 6, 7, 8]
Concatenated list: [1, 2, 3, 4, 5, 6, 7, 8]

方法二:使用流

Stream.concat(list1.stream(),list2.stream()).collect(Collectors.toList())

它以两个流作为参数,并从中创建一个连接流。第二个列表附加到第一个列表。

Java

// Java Program to Concatenate Two List 
// using streams
  
import java.io.*;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;
  
public class GFG {
  
    public static void main(String[] args)
    {
        // given list 1
        List list1 = new ArrayList();
        list1.add(1);
        list1.add(2);
        list1.add(3);
        list1.add(4);
        
        // given list 2
        List list2 = new ArrayList();
        list2.add(5);
        list2.add(6);
        list2.add(7);
        list2.add(8);
  
        // creating new empty list
        List concatenated_list = new ArrayList();
  
        // using Stream.concat() method to concatenate the lists
        concatenated_list = Stream.concat(list1.stream(), list2.stream())
                  .collect(Collectors.toList());
  
        System.out.println("list1: " + list1);
        System.out.println("list2: " + list2);
        System.out.println("Concatenated list: "+ concatenated_list);
        
    }
}
输出
list1: [1, 2, 3, 4]
list2: [5, 6, 7, 8]
Concatenated list: [1, 2, 3, 4, 5, 6, 7, 8]

方法 3:使用union()  

ListUtils.union( list1, list2) 

它需要两个列表作为参数并返回新的连接列表。第二个列表附加到第一个列表。

Java

// Java program to concatenate two lists
// using union()
  
import java.io.*;
import java.util.*;
import java.lang.*;
import org.apache.commons.collections.ListUtils;
  
public class GFG {
  
    public static void main(String[] args)
    {
        // given list 1
        List list1 = new ArrayList();
        list1.add(1);
        list1.add(2);
        list1.add(3);
        list1.add(4);
  
        // given list 2
        List list2 = new ArrayList();
        list2.add(5);
        list2.add(6);
        list2.add(7);
        list2.add(8);
  
        // creating new empty list
        List concatenated_list = new ArrayList();
  
        // using ListUtils.union() method to concatenate
        // the lists
        concatenated_list = ListUtils.union(list1, list2);
  
        System.out.println("list1: " + list1);
        System.out.println("list2: " + list2);
        System.out.println("Concatenated list: "
                           + concatenated_list);
    }
}

输出:

运行上述代码的先决条件:

  • 下载并安装以下 Apache Commons Collections 库 http://commons.apache.org/proper/commons-collections/download_collections.cgi
  • 现在转到项目的属性。
  • 选择Java构建路径。
  • 在Java Build Path 下转到库。
  • 在库下选择类路径。
  • 现在去添加外部 JAR 并添加从给定链接下载的 JAR 可执行文件。