DEV Community

Cover image for Using Arrays and ArrayLists in Java: A Beginner’s Guide
Sharique Siddiqui
Sharique Siddiqui

Posted on

Using Arrays and ArrayLists in Java: A Beginner’s Guide

Arrays and ArrayLists are essential tools in a Java programmer’s toolkit, letting you organize and manage collections of data efficiently. While both store multiple values under one variable name, they each have unique strengths and use cases. Here’s a friendly introduction to working with them.

What Is an Array in Java?

An array is a fixed-size container that holds elements of the same data type. Think of it as a row of lockers, each holding a value, and you access them by index.

Key features:

  • Fixed in size (you must specify the length when you create it)
  • Elements are stored in consecutive memory positions
  • Indexing starts at 0

Example: Declaring and using an array

java
int[] numbers = new int[5]; // Array of 5 integers

numbers[0] = 10;
numbers[1] = 20;
numbers[2] = 30;
numbers[3] = 40;
numbers[4] = 50;

System.out.println(numbers[2]); // Output: 30
Enter fullscreen mode Exit fullscreen mode

Initializing with values:

java
String[] fruits = {"Apple", "Banana", "Cherry"};
System.out.println(fruits[1]); // Output: Banana
Enter fullscreen mode Exit fullscreen mode

Looping Through an Array

java
for (int i = 0; i < numbers.length; i++) {
    System.out.println(numbers[i]);
}
Enter fullscreen mode Exit fullscreen mode

Or with an enhanced for-loop:

java
for (String fruit : fruits) {
    System.out.println(fruit);
}
Enter fullscreen mode Exit fullscreen mode

ArrayList: The Flexible Friend

While arrays are powerful, their fixed size can be limiting. Enter ArrayList, a dynamic array-like structure found in Java’s java.util package.

Key features:

  • Size grows and shrinks automatically
  • Store only objects (not primitives directly—use Integer for numbers, String for text, etc.)
  • Many handy methods for adding, removing, searching, and more

Example: Using an ArrayList

java
import java.util.ArrayList;

ArrayList<String> colors = new ArrayList<>();

colors.add("Red");
colors.add("Green");
colors.add("Blue");

System.out.println(colors.get(0)); // Output: Red
System.out.println("Total colors: " + colors.size()); // Output: 3
Enter fullscreen mode Exit fullscreen mode

Modifying ArrayList data:

java
colors.set(1, "Yellow"); // Changes "Green" to "Yellow"
colors.remove("Red");    // Removes "Red"
Enter fullscreen mode Exit fullscreen mode

Looping Through an ArrayList

java
for (int i = 0; i < colors.size(); i++) {
    System.out.println(colors.get(i));
}
Enter fullscreen mode Exit fullscreen mode

// Or use enhanced for-loop

for (String color : colors) {
    System.out.println(color);
}
Enter fullscreen mode Exit fullscreen mode

Arrays vs. ArrayLists

Feature Array ArrayList
Size Fixed at creation Dynamic, can grow/shrink
Data Types Primitives/Objects Objects only (use wrappers)
Syntax Simpler Use methods (add, get, etc.)
Methods Available Few (length property)
Performance Slightly faster Slight overhead for flexibility

Example: When to Use Each

Use arrays for:

  • Fixed-size collections (e.g., days of the week)
  • High-performance scenarios where size won’t change

Use ArrayLists for:

  • Flexible collections where elements are frequently added or removed
  • Applications where you need convenient methods for handling data

Beginner Tips

  • Array index out of bounds? Remember Java arrays/ArrayLists start at 0!
  • For collections of primitive types that change size, use ArrayList with wrapper classes (e.g., Integer instead of int)
  • Import java.util.ArrayList; to use ArrayLists
  • ArrayList cannot store primitive types directly—wrap them (Integer, Double, etc.)

Final Thoughts

Arrays and ArrayLists are your go-to tools when handling groups of data in Java. Arrays offer simplicity and speed for fixed-size collections, while ArrayLists deliver flexibility and powerful built-in methods. Practice with both, and soon you’ll know exactly when—and how—to use each to build strong, efficient Java programs!

Check out the YouTube Playlist for great java developer content for basic to advanced topics.

Please Do Subscribe Our YouTube Channel for clearing programming concept and much more ... : CodenCloud

Top comments (0)