Java ArrayList Example

πŸ“˜ Premium Read: Access my best content on Medium member-only articles — deep dives into Java, Spring Boot, Microservices, backend architecture, interview preparation, career advice, and industry-standard best practices.

πŸŽ“ Top 15 Udemy Courses (80-90% Discount): My Udemy Courses - Ramesh Fadatare — All my Udemy courses are real-time and project oriented courses.

▶️ Subscribe to My YouTube Channel (176K+ subscribers): Java Guides on YouTube

▶️ For AI, ChatGPT, Web, Tech, and Generative AI, subscribe to another channel: Ramesh Fadatare on YouTube

In this tutorial, we will explore the ArrayList class in Java, which is a part of the List interface. Unlike LinkedList, ArrayList provides better performance for random access operations compared to add and remove operations. This tutorial will demonstrate how to use ArrayList with examples, covering all important operations and different ways for iteration using Java 8 features.

Table of Contents

  1. Introduction
  2. Prerequisites
  3. Step-by-Step Guide
    1. Creating an ArrayList
    2. Adding and Retrieving Elements
    3. Iterating Over the List
    4. Removing Elements
    5. ArrayList Methods
  4. Complete Code Example
  5. Conclusion

Introduction

ArrayList is a part of Java's java.util package and implements the List interface. It provides a resizable array data structure. ArrayList is useful in scenarios where frequent random access operations are required. It offers methods to manipulate elements dynamically.

Prerequisites

Before we start, ensure you have the following:

  • Java Development Kit (JDK) installed (latest version preferred)
  • An Integrated Development Environment (IDE) such as IntelliJ IDEA or Eclipse

Step-by-Step Guide

Step 1: Creating an ArrayList

First, let's create an ArrayList and add some elements to it.

import java.util.ArrayList; import java.util.List; public class ArrayListExample { public static void main(String[] args) { // Create an ArrayList List<String> arrayList = new ArrayList<>(); // Add elements to the list arrayList.add("Ravi"); arrayList.add("Sita"); arrayList.add("Arjun"); arrayList.add("Lakshmi"); // Print the list System.out.println("ArrayList: " + arrayList); } } 

Output:

ArrayList: [Ravi, Sita, Arjun, Lakshmi] 

Step 2: Adding and Retrieving Elements

Let's add some elements to the ArrayList and retrieve elements using different methods.

public class ArrayListExample { public static void main(String[] args) { // Create an ArrayList List<String> arrayList = new ArrayList<>(); // Add elements to the list arrayList.add("Ravi"); arrayList.add("Sita"); arrayList.add("Arjun"); arrayList.add("Lakshmi"); // Retrieve and print elements System.out.println("First element: " + arrayList.get(0)); System.out.println("Second element: " + arrayList.get(1)); } } 

Output:

First element: Ravi Second element: Sita 

Step 3: Iterating Over the List

We can iterate over the ArrayList using a for-each loop, iterator, and Java 8 features like forEach and streams.

Using For-Each Loop

public class ArrayListExample { public static void main(String[] args) { // Create an ArrayList List<String> arrayList = new ArrayList<>(); // Add elements to the list arrayList.add("Ravi"); arrayList.add("Sita"); arrayList.add("Arjun"); arrayList.add("Lakshmi"); // Iterate over the list using for-each loop System.out.println("Iterating over ArrayList using for-each loop:"); for (String element : arrayList) { System.out.println(element); } } } 

Output:

Iterating over ArrayList using for-each loop: Ravi Sita Arjun Lakshmi 

Using Iterator

import java.util.Iterator; public class ArrayListExample { public static void main(String[] args) { // Create an ArrayList List<String> arrayList = new ArrayList<>(); // Add elements to the list arrayList.add("Ravi"); arrayList.add("Sita"); arrayList.add("Arjun"); arrayList.add("Lakshmi"); // Iterate over the list using iterator System.out.println("Iterating over ArrayList using iterator:"); Iterator<String> iterator = arrayList.iterator(); while (iterator.hasNext()) { System.out.println(iterator.next()); } } } 

Output:

Iterating over ArrayList using iterator: Ravi Sita Arjun Lakshmi 

Using forEach and Lambda Expression (Java 8)

public class ArrayListExample { public static void main(String[] args) { // Create an ArrayList List<String> arrayList = new ArrayList<>(); // Add elements to the list arrayList.add("Ravi"); arrayList.add("Sita"); arrayList.add("Arjun"); arrayList.add("Lakshmi"); // Iterate over the list using forEach and lambda System.out.println("Iterating over ArrayList using forEach and lambda:"); arrayList.forEach(element -> System.out.println(element)); } } 

Output:

Iterating over ArrayList using forEach and lambda: Ravi Sita Arjun Lakshmi 

Using Streams (Java 8)

import java.util.stream.Collectors; public class ArrayListExample { public static void main(String[] args) { // Create an ArrayList List<String> arrayList = new ArrayList<>(); // Add elements to the list arrayList.add("Ravi"); arrayList.add("Sita"); arrayList.add("Arjun"); arrayList.add("Lakshmi"); // Iterate over the list using streams System.out.println("Iterating over ArrayList using streams:"); arrayList.stream().forEach(System.out::println); // Convert ArrayList to a List using streams System.out.println("ArrayList to List:"); arrayList.stream().collect(Collectors.toList()).forEach(System.out::println); } } 

Output:

Iterating over ArrayList using streams: Ravi Sita Arjun Lakshmi ArrayList to List: Ravi Sita Arjun Lakshmi 

Step 4: Removing Elements

Let's remove elements from the ArrayList and demonstrate the use of remove method.

public class ArrayListExample { public static void main(String[] args) { // Create an ArrayList List<String> arrayList = new ArrayList<>(); // Add elements to the list arrayList.add("Ravi"); arrayList.add("Sita"); arrayList.add("Arjun"); arrayList.add("Lakshmi"); // Remove an element by index arrayList.remove(2); // Remove an element by value arrayList.remove("Lakshmi"); // Print the list after removal System.out.println("ArrayList after removal: " + arrayList); } } 

Output:

ArrayList after removal: [Ravi, Sita] 

Step 5: ArrayList Methods

Here are some other important methods provided by the ArrayList class:

  • add(int index, E element): Inserts the specified element at the specified position in this list.
  • set(int index, E element): Replaces the element at the specified position in this list with the specified element.
  • indexOf(Object o): Returns the index of the first occurrence of the specified element in this list, or -1 if this list does not contain the element.
  • lastIndexOf(Object o): Returns the index of the last occurrence of the specified element in this list, or -1 if this list does not contain the element.
  • clear(): Removes all of the elements from this list.
import java.util.ArrayList; import java.util.List; public class ArrayListMethodsExample { public static void main(String[] args) { // Create an ArrayList List<String> arrayList = new ArrayList<>(); // Add elements to the list arrayList.add("Ravi"); arrayList.add("Sita"); arrayList.add("Arjun"); arrayList.add("Lakshmi"); // Add element at a specific position arrayList.add(2, "Gopal"); // Replace element at a specific position arrayList.set(1, "Ram"); // Get the index of an element System.out.println("Index of Gopal: " + arrayList.indexOf("Gopal")); // Get the last index of an element arrayList.add("Ravi"); System.out.println("Last index of Ravi: " + arrayList.lastIndexOf("Ravi")); // Clear the list arrayList.clear(); System.out.println("ArrayList after clear: " + arrayList); } } 

Output:

Index of Gopal: 2 Last index of Ravi: 4 ArrayList after clear: [] 

Complete Code Example

Here's the complete code example demonstrating various operations with ArrayList:

import java.util.ArrayList; import java.util.Iterator; import java.util.List; import java.util.stream.Collectors; public class ArrayListExample { public static void main(String[] args) { // Create an ArrayList List<String> arrayList = new ArrayList<>(); // Add elements to the list arrayList.add("Ravi"); arrayList .add("Sita"); arrayList.add("Arjun"); arrayList.add("Lakshmi"); // Retrieve and print elements System.out.println("First element: " + arrayList.get(0)); System.out.println("Second element: " + arrayList.get(1)); // Iterate over the list using for-each loop System.out.println("Iterating over ArrayList using for-each loop:"); for (String element : arrayList) { System.out.println(element); } // Iterate over the list using iterator System.out.println("Iterating over ArrayList using iterator:"); Iterator<String> iterator = arrayList.iterator(); while (iterator.hasNext()) { System.out.println(iterator.next()); } // Iterate over the list using forEach and lambda System.out.println("Iterating over ArrayList using forEach and lambda:"); arrayList.forEach(element -> System.out.println(element)); // Iterate over the list using streams System.out.println("Iterating over ArrayList using streams:"); arrayList.stream().forEach(System.out::println); // Convert ArrayList to a List using streams System.out.println("ArrayList to List:"); arrayList.stream().collect(Collectors.toList()).forEach(System.out::println); // Remove an element by index arrayList.remove(2); // Remove an element by value arrayList.remove("Lakshmi"); // Print the list after removal System.out.println("ArrayList after removal: " + arrayList); // Add elements to the list arrayList.add("Ravi"); arrayList.add("Sita"); arrayList.add("Arjun"); arrayList.add("Lakshmi"); // Add element at a specific position arrayList.add(2, "Gopal"); // Replace element at a specific position arrayList.set(1, "Ram"); // Get the index of an element System.out.println("Index of Gopal: " + arrayList.indexOf("Gopal")); // Get the last index of an element arrayList.add("Ravi"); System.out.println("Last index of Ravi: " + arrayList.lastIndexOf("Ravi")); // Clear the list arrayList.clear(); System.out.println("ArrayList after clear: " + arrayList); } } 

Output:

First element: Ravi Second element: Sita Iterating over ArrayList using for-each loop: Ravi Sita Arjun Lakshmi Iterating over ArrayList using iterator: Ravi Sita Arjun Lakshmi Iterating over ArrayList using forEach and lambda: Ravi Sita Arjun Lakshmi Iterating over ArrayList using streams: Ravi Sita Arjun Lakshmi ArrayList to List: Ravi Sita Arjun Lakshmi ArrayList after removal: [Ravi, Sita] Index of Gopal: 2 Last index of Ravi: 4 ArrayList after clear: [] 

Conclusion

In this tutorial, we demonstrated how to use the ArrayList class in Java. We covered creating an ArrayList, adding and retrieving elements, iterating over the list using various methods, removing elements, and using some important ArrayList methods. By following this guide, developers can effectively use ArrayList in scenarios where frequent random access operations are required.

Comments

Spring Boot 3 Paid Course Published for Free
on my Java Guides YouTube Channel

Subscribe to my YouTube Channel (165K+ subscribers):
Java Guides Channel

Top 10 My Udemy Courses with Huge Discount:
Udemy Courses - Ramesh Fadatare