Open In App

LinkedTransferQueue removeIf() method in Java with Examples

Improve
Improve
Like Article
Like
Save
Share
Report

The removeIf() method of java.util.concurrent.LinkedTransferQueue is an in-built function is Java which is used to remove all of the elements of this queue that satisfies a given predicate filter which is passed as a parameter to the method.

Syntax:

public boolean removeIf(Predicate filter)

Parameters: This method takes a parameter filter which represents a predicate which defines the filtering criteria for elements to be removed.

Return Value: This method returns a boolean value depicting if some the specified element has been removed. It returns True if the predicate returns true and the elements have been removed.

Exceptions: This method throws NullPointerException if the specified filter is null.

Below program illustrates the removeIf() function of LinkedTransferQueue class :

Program 1:




// Java code to illustrate
// removeIf() method of LinkedTransferQueue
  
import java.util.concurrent.LinkedTransferQueue;
import java.util.*;
  
public class GFG {
    public static void main(String[] args)
        throws InterruptedException
    {
  
        // create object of LinkedTransferQueue
        LinkedTransferQueue<Integer> LTQ
            = new LinkedTransferQueue<Integer>();
  
        // Add numbers to end of LinkedTransferQueue
        // using add() method
        LTQ.add(6);
        LTQ.add(3);
        LTQ.add(5);
        LTQ.add(15);
        LTQ.add(20);
  
        // Print the LTQ
        System.out.println("Linked Transfer Queue initially: "
                           + LTQ);
  
        // Remove all multiple of 3
        // using removeIf() method
        if (LTQ.removeIf(n -> (n % 3 == 0)))
            System.out.println("Multiples of 3 removed.");
        else
            System.out.println("No element removed.");
  
        // Print the LTQ
        System.out.println("Current Linked Transfer Queue: "
                           + LTQ);
    }
}


Output:

Linked Transfer Queue initially: [6, 3, 5, 15, 20]
Multiples of 3 removed.
Current Linked Transfer Queue: [5, 20]

Program 2: To demonstrate NullPointerException




// Java code to illustrate
// removeIf() method of LinkedTransferQueue
  
import java.util.concurrent.LinkedTransferQueue;
import java.util.*;
  
public class GFG {
    public static void main(String[] args)
        throws InterruptedException
    {
  
        // create object of LinkedTransferQueue
        LinkedTransferQueue<Integer> LTQ
            = new LinkedTransferQueue<Integer>();
  
        // Add numbers to end of LinkedTransferQueue
        // using add() method
        LTQ.add(6);
        LTQ.add(3);
        LTQ.add(5);
        LTQ.add(15);
        LTQ.add(20);
  
        // Print the LTQ
        System.out.println("Linked Transfer Queue initially: "
                           + LTQ);
  
        try {
            // Remove all multiple of 3
            // using removeIf() method
            System.out.println("Trying to remove null.");
            LTQ.removeIf(null);
        }
        catch (Exception e) {
            System.out.println(e);
        }
    }
}


Output:

Linked Transfer Queue initially: [6, 3, 5, 15, 20]
Trying to remove null.
java.lang.NullPointerException

Reference: https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/concurrent/LinkedTransferQueue.html#removeIf(java.util.function.Predicate)



Last Updated : 08 Mar, 2019
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads