ArrayList is a part of collection framework and is present in java.util package. It provides us dynamic arrays in Java. Though, it may be slower than standard arrays but can be helpful in programs where lots of manipulation in the array is needed.
ArrayList inherits AbstractList class and implements List interface.
ArrayList is initialized by a size, however the size can increase if collection grows or shrink if objects are removed from the collection.
Java ArrayList allows us to randomly access the list.
ArrayList can not be used for primitive types, like int, char, etc. We need a wrapper class for such cases (see this for details).
ArrayList in Java can be seen as similar to vector in C++.
Below are the various methods to initialize an ArrayList in Java:
Initialization with add()
Syntax:
ArrayList<Type> str = new ArrayList<Type>();
str.add("Geeks");
str.add("for");
str.add("Geeks");
Examples:
Java
// Java code to illustrate initialization
// of ArrayList using add() method
importjava.util.*;
publicclassGFG {
publicstaticvoidmain(String args[])
{
// create a ArrayList String type
ArrayList<String> gfg = newArrayList<String>();
// Initialize an ArrayList with add()
gfg.add("Geeks");
gfg.add("for");
gfg.add("Geeks");
// print ArrayList
System.out.println("ArrayList : " + gfg);
}
}
Output:
ArrayList : [Geeks, for, Geeks]
Examples: Using shorthand version of this method
Java
// Java code to illustrate initialization
// of ArrayList using add() method
importjava.util.*;
publicclassGFG {
publicstaticvoidmain(String args[])
{
// create a ArrayList String type
// and Initialize an ArrayList with add()
ArrayList<String> gfg = newArrayList<String>() {
{
add("Geeks");
add("for");
add("Geeks");
}
};
// print ArrayList
System.out.println("ArrayList : " + gfg);
}
}
Output:
ArrayList : [Geeks, for, Geeks]
Initialization using asList()
Syntax:
ArrayList<Type> obj = new ArrayList<Type>(
Arrays.asList(Obj A, Obj B, Obj C, ....so on));
Examples:
Java
// Java code to illustrate initialization
// of ArrayList using asList method
importjava.util.*;
publicclassGFG {
publicstaticvoidmain(String args[])
{
// create a ArrayList String type
// and Initialize an ArrayList with asList()
ArrayList<String> gfg = newArrayList<String>(
Arrays.asList("Geeks",
"for",
"Geeks"));
// print ArrayList
System.out.println("ArrayList : " + gfg);
}
}
Output:
ArrayList : [Geeks, for, Geeks]
Initialization using List.of() method
Syntax:
List<Type> obj = new ArrayList<>(
List.of(Obj A, Obj B, Obj C, ....so on));
Examples:
Java
// Java code to illustrate initialization
// of ArrayList using List.of() method
importjava.util.*;
publicclassGFG {
publicstaticvoidmain(String args[])
{
// create a ArrayList String type
// and Initialize an ArrayList with List.of()
List<String> gfg = newArrayList<>(
List.of("Geeks",
"for",
"Geeks"));
// print ArrayList
System.out.println("ArrayList : " + gfg);
}
}
Output:
ArrayList : [Geeks, for, Geeks]
Initialization using another Collection
Syntax:
List gfg = new ArrayList(collection);
Examples:
Java
// Java code to illustrate initialization
// of ArrayList using another collection
importjava.util.*;
publicclassGFG {
publicstaticvoidmain(String args[])
{
// create another collection
List<Integer> arr = newArrayList<>();
arr.add(1);
arr.add(2);
arr.add(3);
arr.add(4);
arr.add(5);
// create a ArrayList Integer type
// and Initialize an ArrayList with arr
List<Integer> gfg = newArrayList<Integer>(arr);
// print ArrayList
System.out.println("ArrayList : " + gfg);
}
}
Output:
ArrayList : [1, 2, 3, 4, 5]
Initialization using stream() and collect() methods