There are two ways to remove an element from ArrayList.
a. remove(int index) : Accept the index of the object to be deleted.
b. remove(Object obj): Accept object to be removed.
What if we have an ArrayList of integers and want to remove elements? For example, consider the following 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 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 see that the transmitted parameter is considered as an index. How to delete items 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 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 can cause a ConcurrentModificationException (see this for an example program with this exception). When iterating over elements, it is recommended that you use the 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 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); } }
Australia
UK
UAE
Singapore
Canada
New
Zealand
Malaysia
USA
India
South
Africa
Ireland
Saudi
Arab
Qatar
Kuwait
Hongkong
Copyright 2016-2023 www.programmingshark.com - All Rights Reserved.
Disclaimer : Any type of help and guidance service given by us is just for reference purpose. We never ask any of our clients to submit our solution guide as it is, anywhere.