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
author image

mkyong

Founder of Mkyong.com, love Java and open source stuff. Follow him on Twitter. If you like my tutorials, consider make a donation to these charities. Read all published posts by

Comments

avatar
3000
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!!!