Can you initialize an ArrayList with values in Java?

  1. HowTo
  2. Java Howtos
  3. Initialize ArrayList in Java

Initialize ArrayList in Java

Java Java ArrayList

Created: December-13, 2020

This tutorial discusses methods to initialize an ArrayList with values in one line in Java. It is handy for testing and minimalistic coding.

Use Arrays.asList to Initialize an ArrayList in Java

It is relatively easier to initialize a list instead of an ArrayList in Java with initial values in one line. However, if needed, it can be converted to an ArrayList. The below example illustrates both ways.

import java.util.*; public class Main { public static void main(String[] args) { // Initialize a list List cities = Arrays.asList("Amsterdam", "Paris", "London"); // Initialize an ArrayList ArrayList cities_AL = new ArrayList<>(Arrays.asList("Amsterdam", "Paris", "London")); System.out.println(cities); System.out.println(cities_AL); } }

Output:

[Amsterdam, Paris, London] [Amsterdam, Paris, London]

The only difference between the cities and cities_AL is that one is a List and the other is an ArrayList.

Use new ArrayList() Initialize an ArrayList in Java

Another method to initialize an ArrayList is using the new ArrayList() function. You can pre-assign all the values in a single line of code.

import java.util.*; public class Main { public static void main(String[] args) { // Pre assign the values ArrayList cities = new ArrayList() {{ add("Amsterdam"); add("Paris"); add("London"); }}; System.out.println(cities); } }

Output:

[Amsterdam, Paris, London]

Use List.of() to Initialize an ArrayList in Java

In Java9 or later, we can use the List.of() method instead of Arrays.asList() to initialize an ArrayList in Java. The below example illustrates this.

import java.util.*; public class Main { public static void main(String[] args) { // Initialize a List List strings = List.of("foo", "bar", "baz"); System.out.println(strings); // Initialize an ArrayList ArrayList strings_a = new ArrayList<>(List.of("foo", "bar", "baz")); System.out.println(strings_a); } }

Output:

[foo, bar, baz] [foo, bar, baz]

Use Stream to Initialize an ArrayList in Java

We can also use Stream to initialize an ArrayList in Java. The below example illustrates this.

import java.util.*; import java.util.stream.*; public class Main { public static void main(String[] args) { ArrayList places = new ArrayList<>(Stream.of("Buenos Aires", "Córdoba", "La Plata").collect(Collectors.toList())); System.out.println(places); } }

Output:

[Buenos Aires, Córdoba, La Plata]

We have discussed several ways to initialize an ArrayList in Java in just one line with pre-assigning values in this article.

Contribute
DelftStack is a collective effort contributed by software geeks like you. If you like the article and would like to contribute to DelftStack by writing paid articles, you can check the write for us page.

Related Article - Java ArrayList

  • Copy ArrayList in Java
  • Deep Copy ArrayList in Java
    • Infinity in Java
    • Print 2D Array in Java
    Can you initialize an ArrayList with values in Java?
    report this ad