How to remove an element from ArrayList using list Iterator in java

The ListIterator.remove() method removes the last item in the list returned from the next () or previous () cursor position. The next or previous call can only be called once. This is only possible if the add operation (E) is not called after the last call of the next or previous one.

The internal work of ArrayList is shown below to remove or add elements. Remembering general deletion of items before moving to ListIterator.

Syntax:

listIterator.remove();
  1. Index to be removed
  2. Index value to be removed

Illustration:

Input:     ArrayList = [“Red”, “White”, “Blue”, “Pink”]

 

Output: ArrayList = [“Red”, “Blue”, “Pink”]

Remove element “White” or 2nd element in the ArrayList.

Input:     ArrayList = [“Red”, “White”, “Blue”, “Pink”]

Output : ArrayList = [“Red”, “White”, “Blue”, “Pink”]

Remove element “Black” or 5th element in the ArrayList. Since the element that has to be removed is not in the ArrayList so nothing will be removed.

Procedure: To Remove an element from ArrayList using ListIterator is as follows:

  1. Create ArrayList instance new ArrayList();
  2. Add elements in ArrayList colors using colors.add(“Red”);
  3. Create ListIterator instance of colours .listIterator();
  4. Print list elements before removing elements.
  5. Increment the iterator by listIterator.next() and move to element which you would like to remove;
  6. Remove the element by listIterator.remove();
  7. Print the list after removing the element. during this example, we've removed the element “White.

Case 1: Using loops if the index of the element to be removed is known 

// Java Program to Remove an element from ArrayList
// using ListIterator

// Importing ArryList and ListIterator classes
// of java.util package
import java.util.ArrayList;
import java.util.ListIterator;

public class GFG {

	// Main driver method
	public static void main(String[] args)
	{

		// Create an ArrayList
		ArrayList colors = new ArrayList();

		// Add elements to above ArrayList
		colors.add("Red");
		colors.add("White");
		colors.add("Blue");
		colors.add("Pink");
		colors.add("Black");
		colors.add("Green");

		// ArrayList ={Red, White, Blue, Pink, Black, Green}
		ListIterator listIterator
			= colors.listIterator();

		System.out.println("List Before remove() method = "
						+ colors);

		// Removing ith element from ArrayList
		// using listiterator

		// Suppose i = 3, so traversing
		// till that element
		for (int i = 0; i < 3; i++) {
			listIterator.next();
		}

		// Removes one more element from list
		// 'blue' element is removed from arraylist
		listIterator.remove();

		// Printing the final ArrayList after removing
		// elements from originally created ArrayList
		System.out.println("List After remove() method = "
						+ colors);
	}
}

Output

List Before remove() method = [Red, White, Blue, Pink, Black, Green]
List After remove() method =  [Red, White, Pink, Black, Green]

Case 2: If the element to be removed is known

Iterator / open ArrayList and add iterator list. When we get to the element we want, we break the cycle, otherwise we get to the end and nothing is erased.

 

 

// Java Program to Remove an element from ArrayList
// using ListIterator

// Importing ArryList and ListIterator classes
// of java.util package
import java.util.ArrayList;
import java.util.ListIterator;

public class GFG {

	// Main driver method
	public static void main(String[] args)
	{

		// Create an ArrayList
		ArrayList colors = new ArrayList();

		// Adding elements to the arraylist
		colors.add("Red");
		colors.add("White");
		colors.add("Blue");
		colors.add("Pink");
		colors.add("Black");
		colors.add("Green");

		ListIterator listIterator
			= colors.listIterator();

		// Print the original ArrayList created
		System.out.println("List Before remove() :- "
						+ colors);

		// we want to remove Blue element from the arraylist
		for (String it : colors) {
			listIterator.next();
			// if we reched to required element break the
			// loop
			if (it == "Blue")
				break;
		}

		// remove color blue from arraylist
		listIterator.remove();

		System.out.println("List After remove():- "
						+ colors);
	}
}

Output

List Before remove() :- [Red, White, Blue, Pink, black, green]
List After remove():- [Red, White, Pink, black, green]

 

Submit Your Programming Assignment Details