How to remove an element from ArrayList in Java?
There are two way to remove an element from ArrayList.
1. By using remove() methods :
ArrayList provides two overloaded remove() method.
a. remove(int index) : Accept index of object to be removed.
b. remove(Obejct obj) : Accept object to be removed.
What happens when we have an integer arrayList and we want to remove an item? For example consider below program.
// Java program to demonstrate working of remove // on an integer arraylist import java.util.List; import java.util.ArrayList; public class GFG { public static void main(String[] args) { List<Integer> al = new ArrayList<>(); al.add(10); al.add(20); al.add(30); al.add(1); al.add(2); // This makes a call to remove(int) and // removes element 20. al.remove(1); // Now element 30 is moved one position back // So element 30 is removed this time al.remove(1); System.out.println("Modified ArrayList : " + al); } } |
Output :
Modified ArrayList : [10, 1, 2]
We can see that the passed parameter is considered as index. How to remove elements by value.
// Java program to demonstrate working of remove // on an integer arraylist import java.util.List; import java.util.ArrayList; public class GFG { public static void main(String[] args) { List<Integer> al = new ArrayList<>(); al.add(10); al.add(20); al.add(30); al.add(1); al.add(2); // This makes a call to remove(Object) and // removes element 1 al.remove(new Integer(1)); // This makes a call to remove(Object) and // removes element 2 al.remove(new Integer(2)); System.out.println("Modified ArrayList : " + al); } } |
Output :
Modified ArrayList : [10, 20, 30]
2. Using Iterator.remove() method :
It is not recommended to use ArrayList.remove() when iterating over elements. This may lead to ConcurrentModificationException (Refer this for a sample program with this exception). When iterating over elements, it is recommended to use Iterator.remove() method .
// Java program to demonstrate working of // Iterator.remove() on an integer arraylist import java.util.List; import java.util.ArrayList; import java.util.Iterator; public class GFG { public static void main(String[] args) { List<Integer> al = new ArrayList<>(); al.add(10); al.add(20); al.add(30); al.add(1); al.add(2); // Remove elements smaller than 10 using // Iterator.remove() Iterator itr = al.iterator(); while (itr.hasNext()) { int x = (Integer)itr.next(); if (x < 10) itr.remove(); } System.out.println("Modified ArrayList : " + al); } } |
Output :
Modified ArrayList : [10, 20, 30]
This article is contributed by Nitsdheerendra. If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Recommended Posts:
- How to Remove Duplicates from ArrayList in Java
- Remove all elements from the ArrayList in Java
- Remove repeated elements from ArrayList in Java
- ArrayList and LinkedList remove() methods in Java with Examples
- Find first and last element of ArrayList in java
- Remove all occurrences of an element from Array in Java
- Remove an Element at specific index from an Array in Java
- ArrayList of ArrayList in Java
- Java.util.ArrayList.addall() method in Java
- ArrayList in Java
- Arraylist.contains() in Java
- Java.util.Arraylist.indexOf() in Java
- Java.util.ArrayList.add() Method in Java
- Initialize an ArrayList in Java
- Synchronization of ArrayList in Java
Improved By : Ankur Goel



