ArrayBlockingQueue remove() method in Java
Last Updated :
26 Nov, 2018
ArrayBlockingQueue is bounded, blocking queue that stores the elements internally backed by an array.
- ArrayBlockingQueue class is a member of the Java Collections Framework.
- Bounded means it will have a fixed size, you can not store number the elements more than the capacity of the queue.
- The queue also follows FIFO (first-in-first-out) rule for storing and removing elements from the queue.
- If you try to put an element into a full queue or to take an element from an empty queue then the queue will block you.
The remove(Object o) method removes a single instance of the specified element from this queue, if it is present.
We can say that method removes an element e such that o.equals(e) if this queue contains one or more such elements. Remove() method returns true if this queue contained the specified element which we want to remove.
Syntax:
public boolean remove(Object o)
Parameter:
o – element to be removed from this queue, if present.
Returns:
returns true if this queue contained the specified element which we want to remove.
Below program illustrate remove(Object o) method of ArrayBlockingQueue.
Example 1
import java.util.concurrent.ArrayBlockingQueue;
public class GFG {
public static void main(String[] args) throws InterruptedException
{
int capacity = 5 ;
ArrayBlockingQueue<Integer> queue
= new ArrayBlockingQueue<Integer>(capacity);
queue.put( 223 );
queue.put( 546 );
queue.put( 986 );
System.out.println( "queue contains " + queue);
boolean response = queue.remove( 223 );
System.out.println( "Removal of 223 :" + response);
System.out.println( "queue contains " + queue);
response = queue.remove( 546 );
System.out.println( "Removal of 546 :" + response);
System.out.println( "queue contains " + queue);
response = queue.remove( 734 );
System.out.println( "Removal of 734 :" + response);
System.out.println( "queue contains " + queue);
}
}
|
Output :
queue contains [223, 546, 986]
Removal of 223 :true
queue contains [546, 986]
Removal of 546 :true
queue contains [986]
Removal of 734 :false
queue contains [986]
Example 2
import java.util.concurrent.ArrayBlockingQueue;
public class GFG {
public static void main(String[] args) throws InterruptedException
{
int capacity = 5 ;
ArrayBlockingQueue<String> queue
= new ArrayBlockingQueue<String>(capacity);
queue.put( "StarWars" );
queue.put( "SuperMan" );
queue.put( "Flash" );
queue.put( "BatMan" );
queue.put( "Avengers" );
System.out.println( "queue contains " + queue);
boolean response = queue.remove( "StarWars" );
System.out.println( "Removal of StarWars :" + response);
System.out.println( "queue contains " + queue);
response = queue.remove( "Hulk" );
System.out.println( "Removal of Hulk :" + response);
System.out.println( "queue contains " + queue);
}
}
|
Output :
queue contains [StarWars, SuperMan, Flash, BatMan, Avengers]
Removal of StarWars :true
queue contains [SuperMan, Flash, BatMan, Avengers]
Removal of Hulk :false
queue contains [SuperMan, Flash, BatMan, Avengers]
Reference:
https://docs.oracle.com/javase/7/docs/api/java/util/concurrent/ArrayBlockingQueue.html#remove(java.lang.Object)
Share your thoughts in the comments
Please Login to comment...