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();
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:
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]