Skip to content
Related Articles

Related Articles

Java Program to Remove an Element from ArrayList using ListIterator
  • Last Updated : 15 Dec, 2020
GeeksforGeeks - Summer Carnival Banner

ListIterator.remove() method removes the last element from the list that was returned by next() or previous() cursor positions. It can be called only once per call to next or previous. It can be made only if the operation — add(E) has not called after the last call to next or previous.

Internal working in ArrayList is shown below be its removal or addition of elements to it. Considering generic removal of elements prior to the switch 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<String>();
  2. Add elements in ArrayList colors using colors.add(“Red”);
  3. Create ListIterator instance of colors.listIterator();
  4. Print list elements before removing elements.
  5. Increment the iterator by listIterator.next() and move to element which you want to remove;
  6. Remove the element by listIterator.remove();
  7. Print the list after removing the element. In this example, we have removed the element “White.

State transactions while deleting an element from ArrayList

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

Java




// 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<String> colors = new ArrayList<String>();
  
        // 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<String> 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/traverse over the ArrayList and increment the list Iterator. If we reached the required element then break the loop else we reach the end and nothing will be deleted.

Java




// 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<String> colors = new ArrayList<String>();
  
        // Adding elements to the arraylist
        colors.add("Red");
        colors.add("White");
        colors.add("Blue");
        colors.add("Pink");
        colors.add("Black");
        colors.add("Green");
  
        ListIterator<String> 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 elemet 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]

Attention reader! Don’t stop learning now. Get hold of all the important Java Foundation and Collections concepts with the Fundamentals of Java and Java Collections Course at a student-friendly price and become industry ready. To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.

My Personal Notes arrow_drop_up
Recommended Articles
Page :