The offer() method of ConcurrentLinkedQueue is used to insert the element, passed as parameter, at the tail of this ConcurrentLinkedQueue. This method returns True if insertion is successful. ConcurrentLinkedQueue is unbounded, so this method offer() will never returns false.
Syntax:
public boolean offer(E e)
Parameter: This method takes a single parameter e which represents the element we want to insert into this ConcurrentLinkedQueue.
Returns: This method returns true after successful insertion of element.
Exception: This method throws NullPointerException if the specified element is null.
Below programs illustrate offer() method of ConcurrentLinkedQueue:
Example 1: To demonstrate offer() method of ConcurrentLinkedQueue to add String.
import java.util.concurrent.*;
public class GFG {
public static void main(String[] args)
{
ConcurrentLinkedQueue<String>
queue = new ConcurrentLinkedQueue<String>();
queue.offer( "Aman" );
queue.offer( "Amar" );
queue.offer( "Sanjeet" );
queue.offer( "Rabi" );
System.out.println( "ConcurrentLinkedQueue: " + queue);
}
}
|
Output:
ConcurrentLinkedQueue: [Aman, Amar, Sanjeet, Rabi]
Example 2: To demonstrate offer() method of ConcurrentLinkedQueue for adding Numbers.
import java.util.concurrent.*;
public class GFG {
public static void main(String[] args)
{
ConcurrentLinkedQueue<Integer>
queue = new ConcurrentLinkedQueue<Integer>();
queue.offer( 4353 );
queue.offer( 7824 );
queue.offer( 78249 );
queue.offer( 8724 );
System.out.println( "ConcurrentLinkedQueue: " + queue);
}
}
|
Output:
ConcurrentLinkedQueue: [4353, 7824, 78249, 8724]
Example 3: To demonstrate NullPointerException thrown by offer() method for adding Null.
import java.util.concurrent.*;
public class GFG {
public static void main(String[] args)
{
ConcurrentLinkedQueue<Integer>
queue = new ConcurrentLinkedQueue<Integer>();
try {
queue.offer( null );
}
catch (NullPointerException e) {
System.out.println( "Exception thrown"
+ " while adding null: " + e);
}
}
}
|
Output:
Exception thrown while adding null: java.lang.NullPointerException
Reference: https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ConcurrentLinkedQueue.html#offer-E-