Unit 7: ArrayLists

Accessing ArrayList Elements in Java

Introduction to ArrayLists

In Java, arrays are fixed in size. But what if you need a dynamic, resizable array? Enter the ArrayList, a part of Java's collections framework. An ArrayList is a resizable array-like data structure that provides more flexibility and functionality than standard arrays.


Accessing Elements in an ArrayList

Basics of ArrayList

An ArrayList can store objects, including instances of wrapper classes for primitive data types. To use an ArrayList, you need to import the java.util package.

import java.util.ArrayList;

Creating an ArrayList

To create an ArrayList, you specify its type in angle brackets:

ArrayList<Integer> numbers = new ArrayList<>();

Adding Elements

To add elements to an ArrayList, you use the add() method:

numbers.add(10);
numbers.add(20);
numbers.add(30);

Accessing Elements

To get an element at a specific index:

int firstNumber = numbers.get(0);  // This will retrieve the number 10

Modifying Elements

To set or modify the element at a specific index:

numbers.set(0, 50);  // This will set the first element to 50

Removing Elements

To remove an element:

numbers.remove(0);  // This will remove the first element

Remember

ArrayList indices start at 0, just like arrays. So, the first element is at index 0, the second at index 1, and so on.


Looping Through an ArrayList

You can use both the for-each loop and the for loop to iterate over an ArrayList.

// Using a for-each loop
for (int number : numbers) {
    System.out.println(number);
}

// Using a for loop
for (int i = 0; i < numbers.size(); i++) {
    System.out.println(numbers.get(i));
}

Bounds Checking

Always ensure you're not trying to access an index that's out of the bounds of the ArrayList. Using the size() method can help avoid this.


Practical Applications

ArrayLists are incredibly versatile and are used in various scenarios:

  1. Storing Dynamic Data: When the amount of data is unpredictable.
  2. Database Results: When fetching results from a database, an ArrayList can hold the data because the number of results might vary.
  3. Manipulating Data: ArrayList provides methods to manipulate data easily, like sorting or reversing.

Summary

The ArrayList is a dynamic array-like data structure in Java that provides the flexibility to adjust its size automatically. By using the methods provided by the ArrayList class, one can easily access, modify, and manipulate data without worrying about the array's size constraints.


References


AP CSA Homework Assignment

Assignment: Exploring ArrayLists

Instructions

  1. Create a Java class named ArrayListExercises.
  2. Implement the following tasks using ArrayLists:
    • Create an ArrayList to store names of 5 students.
    • Add the names to the ArrayList.
    • Display the names using both types of loops mentioned above.
    • Modify the third name in the ArrayList.
    • Remove the last student's name from the ArrayList.
    • Display the final list of student names.
  3. Reflect on the utility of ArrayLists and how they might be beneficial in various programming scenarios. Compare and contrast them with standard arrays.
Previous
Creating ArrayLists