How to initialize an ArrayList in one line

Here’s a few ways to initialize an java.util.ArrayList, see the following full example:

InitArrayList.java

package com.mkyong.examples;

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

public class InitArrayList {

    public static void main(String[] args) {

        //1. Normal way
        List<String> list = new ArrayList<String>();
        list.add("String A");
        list.add("String B");
        list.add("String C");

        System.out.println("List 1......");
        for (String temp : list) {
            System.out.println(temp);
        }

        //2. Anonymous inner class
        List<String> list2 = new ArrayList<String>() {
            {
                add("String A");
                add("String B");
                add("String C");
            }
        };

        System.out.println("List 2......");
        for (String temp : list2) {
            System.out.println(temp);
        }

        //3. One line
        List<String> list3 = Arrays.asList("String A", "String B", "String C");

        System.out.println("List 3......");
        for (String temp : list3) {
            System.out.println(temp);
        }

    }

}

Output


List 1......
String A
String B
String C
List 2......
String A
String B
String C
List 3......
String A
String B
String C

About the Author

author image
mkyong
Founder of Mkyong.com, love Java and open source stuff. Follow him on Twitter, or befriend him on Facebook or Google Plus. If you like my tutorials, consider make a donation to these charities.

Comments

Leave a Reply

avatar
newest oldest most voted
Alexsplosive
Guest
Alexsplosive

in one line Arrays.asList returns a list already.
So List list = Arrays.asList(“String A”, “StringB”); is enough

Prateek Ashtikar
Guest
Prateek Ashtikar

Creating a private static final long serialVersionUID = 1L; is more appropriate work for 2nd suggested way!!

bhavesh
Guest
bhavesh

2nd Way is not appropriate in terms of performance.
courtesy of above line – http://stackoverflow.com/questions/924285/efficiency-of-java-double-brace-initialization

Thanks.

Ravi
Guest
Ravi

Your posts are awesome, thanks for all your work and helping us.

Paulo Italiano
Guest
Paulo Italiano

I find the 3rd way especially convenient.

Best regards,
Paulo

snag
Guest
snag

Watch out for UnsoppertedOperationException when processing the list:
http://stackoverflow.com/questions/5755477/java-list-addobject-unsupportedoperationexception

Tunki
Guest
Tunki

I LOVE YOUR WORK.
KEEP UP THE GOOD WORK!
THANK YOU SO MUCH MKYONG.
YOU ARE MY STAR!!!