Collection Java Book

The ArrayList class extends AbstractList and implements the List interface.
ArrayList supports dynamic arrays that can grow as needed.
An ArrayList is a variable-length array of object references.
An ArrayList can dynamically increase or decrease in size.
ArrayList is a generic class that has declaration of:
class ArrayList
E specifies the type of objects that the list will hold.
A demonstration of an array-based list

import java.util.ArrayList;
import java.util.List;
public class Main {
public static void main(String[] args) {
List ls = new ArrayList();
String[] weekDays = { "A", "B", "C", "Wed", "Z", "Y", "X" };
for (String weekDay : weekDays){
ls.add(weekDay);
}
dump("ls:", ls);
ls.set(ls.indexOf("Wed"), "Wednesday");
dump("ls:", ls);
ls.remove(ls.lastIndexOf("X"));
dump("ls:", ls);
}
static void dump(String title, List ls) {
System.out.print(title + " ");
for (String s : ls){
System.out.print(s + " ");
}

System.out.println();
}
}

This class is a member of the Java Collections Framework.