</>

Technology

Java Programs

Difficulty

Beginner

Interview Question

Write a Java program to demonstrate advanced ArrayList operations (insert, remove, get by index).

Answer

Advanced ArrayList Operations in Java

Java
import java.util.ArrayList;

public class ArrayListExample2 {
    public static void main(String[] args) {
        // Declaration
        ArrayList list = new ArrayList();

        // Adding values to array list (mixed types)
        list.add("welcome");
        list.add(100);
        list.add(10.5);
        list.add('C');
        list.add(true);

        System.out.println(list.size());      // size of arraylist → 5
        System.out.println(list.get(2));      // returns specific value from list (index=2) → 10.5

        System.out.println("Before inserting: " + list);

        // Insert value at specific position (index 1)
        list.add(1, "selenium");
        System.out.println("After insertion: " + list);

        // Remove value at index 3
        list.remove(3);
        System.out.println("After remove: " + list);

        // Reading values from array list using for loop
        for (Object i : list) {
            System.out.println(i);
        }
    }
}

Output

CODE
5
10.5
Before inserting: [welcome, 100, 10.5, C, true]
After insertion:  [welcome, selenium, 100, 10.5, C, true]
After remove:     [welcome, selenium, 100, C, true]
welcome
selenium
100
C
true

Key Differences: add() vs add(index, value)

Java
list.add("end");          // appends to END of list
list.add(1, "middle");    // INSERTS at index 1, shifts rest right

Key Differences: remove(int) vs remove(Object)

Java
list.remove(3);           // removes by INDEX (position 3)
list.remove("selenium");  // removes by VALUE (first match)

Typed ArrayList (Best Practice)

Java
ArrayList<String> names = new ArrayList<>();   // type-safe
names.add("John");
names.add("Jane");
String first = names.get(0);  // no casting needed

Automation Testing Relevance

Java
// Storing all link texts on a page
List<WebElement> links = driver.findElements(By.tagName("a"));
ArrayList<String> linkTexts = new ArrayList<>();
for (WebElement link : links) {
    linkTexts.add(link.getText());
}
linkTexts.remove(0);  // remove first irrelevant link

Follow AutomateQA