English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Java Basic Tutorial

Java Flow Control

Java Array

Java Object-Oriented (I)

Java Object-Oriented (II)

Java Object-Oriented (III)

Java Exception Handling

Java List (List)

Java Queue (Queue)

Java Map Collection

Java Set Collection

Java Input Output (I)/O)

Java Reader/Writer

Other Java Topics

Java Program to Merge Two Lists (List)

Comprehensive Java Examples

In this example, we will learn how to merge two lists using the addAll() method and Stream class in Java.

To understand this example, you should be familiar with the followingJava ProgrammingTopic:

Example1: Use addAll() to merge two lists

import java.util.ArrayList;
import java.util.List;
class Main {
  public static void main(String[] args) {
    //Create the first list
    List<Integer> prime = new ArrayList<>();
    prime.add(2);
    prime.add(3);
    prime.add(5);
    System.out.println("First list: "); + prime);
    //Create the second list
    List<Integer> even = new ArrayList<>();
    even.add(4);
    even.add(6);
    System.out.println("Second list: "); + even);
    //Create the merged list
    List<Integer> numbers = new ArrayList<>();
    numbers.addAll(prime);
    numbers.addAll(even);
    System.out.println("Merge lists: "); + numbers);
  }
}

Output Result

First list: [2, 3, 5]
Second list: [4, 6]
Merge lists: [2, 3, 5, 4, 6]

In the above example, there are two lists named prime and even. Here, we useJava ArrayList addAll()Method, add all elements of prime and even to a new list named numbers.

Example2: Use the Stream class to merge two lists

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;
class Main {
  public static void main(String[] args) {
    // Create the first list
    // asList() converts an array to an arraylist
    List<Integer> prime = new ArrayList<>(Arrays.asList(2, 3, 5));
    System.out.println("First List: "); + prime);
    // Create the second list
    List<Integer> even = new ArrayList<>(Arrays.asList(4, 6));
    System.out.println("Second List: "); + even);
    // Convert both lists to streams
    Stream<Integer> list1 = prime.stream();
    Stream<Integer> list2 = even.stream();
    // Merge two streams
    Stream<Integer> merged = Stream.concat(list1, list2);
    // Convert the merged stream to a list
    List<Integer> numbers = merged.collect(Collectors.toList());
    System.out.println("Merged List: ", + numbers);
  }
}

Output Result

First List: [2, 3, 5]
Second List: [4, 6]
Merged List: [2, 3, 5, 4, 6]

In the above example, we used the Stream class to merge two lists. Here,

  • stream() - Convert a list to a stream

  • concat() - Merge two streams

  • collect(Collectors.toList()) - Convert a stream to a list

For more information about streams, please visitJava Stream Class.

Comprehensive Java Examples