Introduction
This article describes how the ArrayList class in Java Collections work.
What is the ArrayList class in Java?
Java arrays are of a fixed length. When arrays are created, they are unable to grow or shrink, in other words, we must know in advance how many elements we need so that the array will hold them. Now, the ArrayList class extends Array-List and implements the List interface. ArrayList supports dynamic arrays that can grow as needed.
This class supports mainly three constructors.
- ArrayList(int capacity)
- Apart from the methods inherited from its parent classes, ArrayList defines the following methods.
- ArrayList( )
- This constructor builds an array list that is initialized with the elements of the collection cln.
- ArrayList(Collection cln)
- This constructor builds an array list that has the specified initial capacity. The capacity grows automatically as elements are added to an array list.
Example: The following example contains various methods used by the ArrayList class.
- import java.util.*;
- public class ArrayListEx1 {
- public static void main(String args[]) {
- ArrayList arylst = new ArrayList();
- System.out.println("size of initialized arraylist: " + arylst.size());
- arylst.add("C");
- arylst.add("P");
- arylst.add("Q");
- arylst.add("R");
- arylst.add("S");
- arylst.add("T");
- arylst.add(1, "P2");
- System.out.println("Size of arraylist after additions: " + arylst.size());
- System.out.println("Contents of arraylist: " + arylst);
- arylst.remove("T");
- arylst.remove(2);
- System.out.println("After deletion size of arraylist: " + arylst.size());
- System.out.println("The contents of arraylist: " + arylst);
- }
- }
Output
The following are two ways to iterate the elements of the collection:
- By Iterator interface.
- By For-each loop
1. By using a For-each loop
Example
- import java.util.*;
- class ArrayListEx2 {
- public static void main(String args[]) {
- ArrayList arylst = new ArrayList();
- arylst.add("John");
- arylst.add("Paul");
- arylst.add("Jaun");
- arylst.add("San");
- for (Object obj: arylst)
- System.out.println(obj);
- }
- }
Output
2. By using the Iterator interface
Example
- import java.util.*;
- class ArrayListEx4 {
- public static void main(String args[]) {
- ArrayList arylst = new ArrayList();
- arylst.add("Paul");
- arylst.add("John");
- arylst.add("Paul");
- arylst.add("San");
- Iterator itrtr = arylst.iterator();
- while (itrtr.hasNext()) {
- System.out.println(itrtr.next());
- }
- }
- }
Output
Storing user-defined class objects.
Chilgren.java: This class contains Student records, such as their name, age, and rollno.
- class Children {
- int rollno;
- String name;
- int age;
- Children(int rollno, String name, int age) {
- this.rollno = rollno;
- this.name = name;
- this.age = age;
- }
- }
ArrayListEx3.java
This class is used to show or print the records of the Children defined class.
- import java.util.*;
- class ArrayListEx3 {
- public static void main(String args[]) {
- Children c1 = new Children(11, "Paul", 21);
- Children c2 = new Children(12, "Sam", 23);
- Children c3 = new Children(13, "Cady", 22);
- ArrayList arylst = new ArrayList();
- arylst.add(c1);
- arylst.add(c2);
- arylst.add(c3);
- Iterator it = arylst.iterator();
- while (it.hasNext()) {
- Children ch = (Children) it.next();
- System.out.println(ch.rollno + " " + ch.name + " " + ch.age);
- }
- }
- }
Output