Concatenating two lists means merging two lists into a single list in Java.
There are several methods to perform concatenation operation:
Method 1: Using addAll() method
Syntax:
addAll ( list name )
This method takes name of list as argument and add all the elements of the specified list in the same order as the original list.
concatenated_list.addAll (list1) // concatenates first list concatenated_list.addAll (list2) // concatenates second list
After performing the above steps our empty list now contains both the list.
// 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); } }
Output
list1: [1, 2, 3, 4] list2: [5, 6, 7, 8] Concatenated list: [1, 2, 3, 4, 5, 6, 7, 8]
Method 2: Using streams
Stream.concat(list1.stream(),list2.stream()).collect(Collectors.toList())
It takes two streams as argument and creates a concatenated stream out of them.Second list is appended to the first list.
// 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); } }
Output
list1: [1, 2, 3, 4] list2: [5, 6, 7, 8] Concatenated list: [1, 2, 3, 4, 5, 6, 7, 8]
Method 3: Using union()
ListUtils.union( list1, list2)
It takes two list as argument and return new concatenated list. Second list is appended to the first list.
// 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); } }
Output: