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
