Practical Coding in Java

Learn to write and validate your own code

Darren Kessner, PhD

(revised October 21, 2025)

Previous: 6. ArrayList

HelloArrayList

//
// HelloArrayList.java
//

import java.util.*;


public class HelloArrayList
{
    public static void main(String[] args)
    {
        // create a new ArrayList and add stuff

        ArrayList<String> names = new ArrayList<String>();
        names.add("Nola");
        names.add("Nina");
        names.add("Mia");

        // size() method is like .length

        System.out.println("names.size(): " + names.size());

        // the get() method retrieves by index, like []

        System.out.println("names.get(0): " + names.get(0));
        System.out.println("names.get(1): " + names.get(1));
        System.out.println("names.get(2): " + names.get(2));

        // the for-each loop works identically to arrays

        System.out.println();
        System.out.println("names:");
        for (String name : names)
            System.out.println(name);
        System.out.println();

        // you can remove stuff

        System.out.println("Removing Nola\n");
        names.remove("Nola");

        // use a for loop if you need the index

        System.out.println("names:");
        for (int i=0; i<names.size(); i++)
        {
            String name = names.get(i);
            System.out.println(i + " " + name);
        }
        System.out.println();

        // ArrayList works only with objects, not the basic types
        // like int or float.  Each basic type has a wrapper class
        // that can be kept in an ArrayList:  Integer, Float, etc.
        // The wrapper class provides automatic type conversions
        // (auto-boxing / auto-unboxing) to make this easier for
        // the programmer

        ArrayList<Integer> values = new ArrayList<Integer>(); 
        values.add(1); // auto-boxing of int -> Integer
        values.add(3);
        values.add(5);

        System.out.println("values:");
        for (int n : values) // auto-unboxing of Integer -> int
            System.out.println(n);
    }
}

Output:

names.size(): 3
names.get(0): Nola
names.get(1): Nina
names.get(2): Mia

names:
Nola
Nina
Mia

Removing Nola

names:
0 Nina
1 Mia

values:
1
3
5

Next: