You should always use remove(index) to delete object, if you are not iterating, otherwise always use Iterator's remove() method for removing object from ArrayList.
Using remove()
import java.util.ArrayList;
import java.util.List;
publicclassExample {
publicstaticvoidmain(String[] args) {
List<Integer> numbers = new ArrayList<Integer>();
numbers.add(1);
numbers.add(2);
numbers.add(3);
System.out.println("ArrayList contains : " + numbers);
// Calling remove(index)
numbers.remove(1); //removing object at index 1 i.e. 2nd Object, which is 2 //Calling remove(object)
numbers.remove(new Integer(3));
System.out.println("ArrayList After : " + numbers);
}
}
ArrayList contains : [1, 2, 3]
ArrayList After : [1]
Using iterator
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
publicclassExample{
publicstaticvoidmain(String[] args){
List<Integer> numbers = new ArrayList<Integer>();
numbers.add(100);
numbers.add(201);
numbers.add(300);
numbers.add(401);
System.out.println("ArrayList Before : " + numbers);
Iterator<Integer> itr = numbers.iterator(); // remove all even numbers while (itr.hasNext()) {
Integer number = itr.next();
if (number % 2 == 0) {
itr.remove();
/* not numbers.remove(number);
Otherwise this will create ConcurrentModificationException*/
}
}
System.out.println("ArrayList After : " + numbers);
}
ArrayList Before : [100, 201, 300, 401]
ArrayList After : [201, 401]
You should always use remove(index) to delete object, if you are not iterating, otherwise always use Iterator's remove() method for removing object from ArrayList.
import java.util.ArrayList; import java.util.List; public class Example { public static void main(String[] args) { List<Integer> numbers = new ArrayList<Integer>(); numbers.add(1); numbers.add(2); numbers.add(3); System.out.println("ArrayList contains : " + numbers); // Calling remove(index) numbers.remove(1); //removing object at index 1 i.e. 2nd Object, which is 2 //Calling remove(object) numbers.remove(new Integer(3)); System.out.println("ArrayList After : " + numbers); } } ArrayList contains : [1, 2, 3] ArrayList After : [1]import java.util.ArrayList; import java.util.Iterator; import java.util.List; public class Example { public static void main(String[] args) { List<Integer> numbers = new ArrayList<Integer>(); numbers.add(100); numbers.add(201); numbers.add(300); numbers.add(401); System.out.println("ArrayList Before : " + numbers); Iterator<Integer> itr = numbers.iterator(); // remove all even numbers while (itr.hasNext()) { Integer number = itr.next(); if (number % 2 == 0) { itr.remove(); /* not numbers.remove(number); Otherwise this will create ConcurrentModificationException*/ } } System.out.println("ArrayList After : " + numbers); } ArrayList Before : [100, 201, 300, 401] ArrayList After : [201, 401]