How to Convert Array to List in Java 8

Introduction

In Java, it's common to work with arrays and lists. While arrays have a fixed size, lists are more flexible. Java 8 provides an easy and efficient way to convert an array to a list using Streams and utility methods. In this guide, we will explore different ways to convert an array to a list in Java 8.

Problem Statement

You have an array, and you want to convert it into a list. Write a program that:

  • Takes an array as input.
  • Converts the array to a list.
  • Displays the list.

Example:

  • Input: {"Java", "Python", "C++"}
  • Output: ["Java", "Python", "C++"]

Solution Steps

  1. Define the Input Array: Define an array that you want to convert to a list.
  2. Use Utility Methods: Use Arrays.asList() or Streams to convert the array to a list.
  3. Display the Result: Print the converted list.

Method 1: Using Arrays.asList()

Java Program

import java.util.Arrays;
import java.util.List;

public class ArrayToListExample1 {
    public static void main(String[] args) {
        // Step 1: Define the input array
        String[] array = {"Java", "Python", "C++"};

        // Step 2: Convert the array to a list using Arrays.asList()
        List<String> list = Arrays.asList(array);

        // Step 3: Display the result
        System.out.println("List: " + list);
    }
}

Output

List: [Java, Python, C++]

Explanation

  • Arrays.asList(array) converts the array into a fixed-size list. This method is simple but has a limitation: the returned list is fixed in size, meaning you cannot add or remove elements.

Method 2: Using Java 8 Streams

Java Program

import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;

public class ArrayToListExample2 {
    public static void main(String[] args) {
        // Step 1: Define the input array
        String[] array = {"Java", "Python", "C++"};

        // Step 2: Convert the array to a list using Java 8 Streams
        List<String> list = Arrays.stream(array)
            .collect(Collectors.toList());

        // Step 3: Display the result
        System.out.println("List: " + list);
    }
}

Output

List: [Java, Python, C++]

Explanation

  • Arrays.stream(array) creates a stream from the array.
  • Collectors.toList() collects the elements from the stream into a new list.
  • This method allows you to create a modifiable list, meaning you can add or remove elements from the list.

Method 3: Using Collections.addAll()

Java Program

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

public class ArrayToListExample3 {
    public static void main(String[] args) {
        // Step 1: Define the input array
        String[] array = {"Java", "Python", "C++"};

        // Step 2: Convert the array to a list using Collections.addAll()
        List<String> list = new ArrayList<>();
        Collections.addAll(list, array);

        // Step 3: Display the result
        System.out.println("List: " + list);
    }
}

Output

List: [Java, Python, C++]

Explanation

  • Collections.addAll() adds all elements of the array into a new ArrayList.
  • This method creates a modifiable list, allowing you to add or remove elements later.

Output Example

Example 1:

For the input {"Java", "Python", "C++"}, the output for all methods will be:

List: [Java, Python, C++]

Example 2:

For the input {"Apple", "Banana", "Orange"}, the output will be:

List: [Apple, Banana, Orange]

Conclusion

There are several ways to convert an array to a list in Java 8. Using Arrays.asList() is quick and simple but results in a fixed-size list. On the other hand, using Java 8 Streams or Collections.addAll() allows for the creation of modifiable lists. Depending on your requirements (fixed or modifiable list), you can choose the method that best suits your needs.

Comments

Spring Boot 3 Paid Course Published for Free
on my Java Guides YouTube Channel

Subscribe to my YouTube Channel (165K+ subscribers):
Java Guides Channel

Top 10 My Udemy Courses with Huge Discount:
Udemy Courses - Ramesh Fadatare