Java program to remove an element from ArrayList

There are two ways to remove an element from ArrayList.

  1. By using remove() methods : ArrayList has two overloaded delete() methods.

a. remove(int index) : Accept the index of the object to be deleted.

bremove(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);
	}
}

 

Submit Your Programming Assignment Details