In this post, we will see how to initialize List of String in java.
Can you initialize List of String as below:
Listlist = new List ();
You can't because List is an interface and it can not be instantiated with new List().
You need to instantiate it with the class that implements the List interface.
Here are the common java Collections classes which implement List interface.
// ArrayList Listlist1 = new ArrayList (); // LinkedList List list2 = new LinkedList (); // Vector List list3 = new Vector (); // CopyOnWriteArrayList List list4 = new CopyOnWriteArrayList ();
In most of the cases, you will initialize List with ArrayList as below.
// ArrayList Listlist1 = new ArrayList ();
If you are using java 7 or greater than you can use diamond operator with generics.
// ArrayList Listlist1 = new ArrayList<>();
Initialize List of Strings with values
There are many ways to initialize list of Strings with values.
Arrays’s asList
You can use Arrays’s asList method to initialize list with values.
Listlist1 = Arrays.asList("India","China","Bhutan");
Stream.of (Java 8)
You can use java 8‘s Stream to initialize list of String with values.
Listlist1 = Stream.of("India","China","Bhutan").collect(Collectors.toList());
List.of (Java 9)
Finally, java has introduced a of() method in List class to initialize list with values in java 9.
Listlist1 = List.of("India","China","Bhutan");
Using ArrayList’s add method
You can obviously initialize ArrayList with new operator and then use add method to add element to the list.
// ArrayList Listlist1 = new ArrayList<>(); list1.add("India"); list1.add("China"); list1.add("Bhutan");
Using guava library
You can use guava library as well.
Listlist1 = Lists.newArrayList("India","China","Bhutan");
Here is the complete example.
package org.arpit.java2blog;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;
public class ListOfStringsMain {
public static void main(String[] args) {
List<String> list1 = new ArrayList<>();
list1.add("India");
list1.add("China");
list1.add("Bhutan");
System.out.println(list1);
// Using Arrays.asList
List<String> list2= Arrays.asList("India","China","Bhutan");
System.out.println(list2);
// Using Stream.of
List<String> list3 = Stream.of("India","China","Bhutan").collect(Collectors.toList());
System.out.println(list3);
List<String> list4 = List.of("India","China","Bhutan");
System.out.println(list4);
}
}
Output:
[India, China, Bhutan]
[India, China, Bhutan]
[India, China, Bhutan]
That’s all about how to initialize List of String in java.