In this post, we will see how to create List with One Element in java..
Using Collections.singletonList()
This is best way to create List with single element if you need an immutable List.
package org.arpit.java2blog;
import java.util.Collections;
import java.util.List;
public class CreateListWithSingleElementJavaCollections {
public static void main(String[] args) {
List list = Collections.singletonList("India");
System.out.println("List: "+list);
}
}
Output
List: [India]
If you try to add element to the list, you will get exception
Listlist = Collections.singletonList("India"); list.add("China");
Exception in thread "main" java.lang.UnsupportedOperationException
at java.base/java.util.AbstractList.add(AbstractList.java:153)
at java.base/java.util.AbstractList.add(AbstractList.java:111)
at org.arpit.java2blog.CreateListWithSingleElementJavaCollections.main(CreateListWithSingleElementJavaCollections.java:10)
Using Array.asList() method [ Immuatable list]
Arrays.asList() method can be used to create list with single element. Created list will be immutable list.
package org.arpit.java2blog;
import java.util.Arrays;
import java.util.List;
public class CreateListWithSingleElementJava {
public static void main(String[] args) {
List list = Arrays.asList( "India");
System.out.println(list);
}
}
If you try to add element to the list, you will get exception
Listlist = Arrays.asList( "India"); list.add("China");
Exception in thread "main" java.lang.UnsupportedOperationException
at java.base/java.util.AbstractList.add(AbstractList.java:153)
at java.base/java.util.AbstractList.add(AbstractList.java:111)
at org.arpit.java2blog.CreateListWithSingleElementJava.main(CreateListWithSingleElementJava.java:10)
Using new ArrayList with Array.asList() method [ Mutable list]
If you need mutable list, you can use Arrays.asList() and pass the result into new ArrayList.
Listlist = new ArrayList (Arrays.asList(s));
As this is mutable list, you can add elements to it.
package org.arpit.java2blog;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class CreateListWithSingleElementNewArrayList {
public static void main(String[] args) {
List list = new ArrayList(Arrays.asList( "India"));
System.out.println("List: "+list);
list.add("China");
System.out.println("List after adding an element: "+list);
}
}
Output
List: [India] List after adding an element: [India, China]
You can also new ArrayList with Collections.singletonList() to create mutable list.
Listlist = new ArrayList (Collections.singletonList(s));
Further reading:
That’s all about how to create ArrayList with one element in java.