Industrial manufacturing
Industrial Internet of Things | Industrial materials | Equipment Maintenance and Repair | Industrial programming |
home  MfgRobots >> Industrial manufacturing >  >> Industrial programming >> Java

Mastering Java ArrayList: Operations, Methods, and Best Practices

Java ArrayList Class

Discover the full power of Java’s ArrayList: create, manipulate, and iterate with clear, real‑world examples.

The ArrayList class, part of the Java Collections Framework, implements the List interface and offers a resizable array data structure. Unlike static arrays, an ArrayList automatically adjusts its capacity when elements are added or removed, making it a dynamic array.

Mastering Java ArrayList: Operations, Methods, and Best Practices

ArrayList vs. Array

Traditional arrays require a fixed size at declaration, which limits flexibility. ArrayList overcomes this limitation by resizing on demand, enabling efficient dynamic data handling.


Creating an ArrayList

Import the class before use:

import java.util.ArrayList;

Instantiate with the desired element type:

// Integer type ArrayList
ArrayList<Integer> intList = new ArrayList<>();

// String type ArrayList
ArrayList<String> strList = new ArrayList<>();

Note: Use wrapper classes (e.g., Integer for int) because generics do not support primitive types.


Example: Create an ArrayList

import java.util.ArrayList;

class Main {
  public static void main(String[] args){
    ArrayList<String> languages = new ArrayList<>();
    languages.add("Java");
    languages.add("Python");
    languages.add("Swift");
    System.out.println("ArrayList: " + languages);
  }
}

Output

ArrayList: [Java, Python, Swift]

Basic Operations on ArrayList

Core operations include adding, accessing, modifying, and removing elements. Below are concise code snippets for each.


1. Adding Elements

Append a single element:

ArrayList<String> languages = new ArrayList<>();
languages.add("Java");
languages.add("C");
languages.add("Python");
System.out.println("ArrayList: " + languages);

Output

ArrayList: [Java, C, Python]

Insert at a specific index:

languages.add(1, "JavaScript");
languages.add(3, "C++");

Add all elements from a collection:

import java.util.ArrayList;
import java.util.HashSet;

class Main {
  public static void main(String[] args) {
    HashSet<String> vowels = new HashSet<>();
    vowels.add("a");
    vowels.add("e");
    vowels.add("i");
    ArrayList<String> alphabets = new ArrayList<>();
    alphabets.addAll(vowels);
    System.out.println("ArrayList: " + alphabets);
  }
}

Output

ArrayList: [a, e, i]

2. Accessing Elements

Retrieve by index:

ArrayList<String> animals = new ArrayList<>();
animals.add("Cat");
animals.add("Dog");
animals.add("Cow");
String str = animals.get(1);
System.out.print("Element at index 1: " + str);

Output

Element at index 1: Dog

Iterate with an Iterator if needed.


3. Modifying Elements

Replace an existing element:

ArrayList<String> languages = new ArrayList<>();
languages.add("Java");
languages.add("Kotlin");
languages.add("C++");
languages.set(2, "JavaScript");
System.out.println("Modified ArrayList: " + languages);

Output

Modified ArrayList: [Java, Kotlin, JavaScript]

4. Removing Elements

By index:

ArrayList<String> animals = new ArrayList<>();
animals.add("Dog");
animals.add("Cat");
animals.add("Horse");
String removed = animals.remove(2);
System.out.println("Updated ArrayList: " + animals);
System.out.println("Removed Element: " + removed);

Output

Updated ArrayList: [Dog, Cat]
Removed Element: Horse

Clear all elements with clear() or remove a range with removeAll().


Common ArrayList Methods

Beyond basic CRUD operations, the following methods are frequently used:

MethodDescription
size()Returns the number of elements.
sort()Sorts the list.
clone()Creates a shallow copy.
contains()Checks for an element’s presence.
ensureCapacity()Preallocates space.
isEmpty()Checks if the list is empty.
indexOf()Finds the first occurrence index.

For a complete list, refer to the official ArrayList API.


Iterating with for‑Each

ArrayList<String> animals = new ArrayList<>();
animals.add("Cow");
animals.add("Cat");
animals.add("Dog");
for (String animal : animals) {
  System.out.print(animal + ", ");
}

Output

Cow, Cat, Dog, 

Frequently Asked Questions

What is the difference between Java ArrayList and LinkedList?

ArrayListLinkedList
Implements List interfaceImplements List, Queue, and Deque
Single contiguous memory blockNodes with next/prev references
Random access O(1)Sequential access O(n)
Resizes dynamicallyResizes dynamically

How to convert an ArrayList to an array?

String[] arr = new String[languages.size()];
languages.toArray(arr);

How to convert an array to ArrayList?

ArrayList<String> list = new ArrayList<>(Arrays.asList(arr));

How to create and initialize an ArrayList in one line?

ArrayList<String> list = new ArrayList<>(Arrays.asList("Java", "Python", "C"));

How to convert an ArrayList to a String?

String str = languages.toString();

How to create an ArrayList using the List interface?

List<String> list = new ArrayList<>();

Java

  1. Understanding Java’s final Keyword: Variables, Methods, and Classes
  2. Mastering Java Anonymous Inner Classes: Definition, Syntax, and Practical Examples
  3. Understanding Java Vector: Usage, Features, and Comparison with ArrayList
  4. Java LinkedList: Comprehensive Guide with Examples
  5. Mastering Java’s ObjectInputStream: A Comprehensive Guide
  6. Mastering Java ObjectOutputStream: Serialization, Methods, and Practical Examples
  7. Mastering Java’s PrintStream Class: Print, Println, and Printf Explained
  8. Mastering Java Reader Class: Subclasses, Methods, and Practical Example
  9. Mastering Java Generics – Building Reusable, Type‑Safe Code
  10. Mastering Java File Operations with java.io – Creation, Reading, Writing & Deletion