The offer(E e) method of LinkedBlockingDeque inserts the element passed in the parameter to the end of the Deque. If the container’s capacity has exceeded, then it does not returns an exception as in case of add() and addFirst() function.
Syntax:
public boolean offer(E e)
Parameters: This method accepts a mandatory parameter e which is the element to be inserted in the end of the LinkedBlockingDeque.
Returns: This method returns true if the element has been inserted, else it returns false.
Below programs illustrate offer() method of LinkedBlockingDeque:
Program 1:
import java.util.concurrent.LinkedBlockingDeque;
import java.util.*;
public class GFG {
public static void main(String[] args)
throws IllegalStateException
{
LinkedBlockingDeque<Integer> LBD
= new LinkedBlockingDeque<Integer>( 4 );
LBD.offer( 7855642 );
LBD.offer( 35658786 );
LBD.offer( 5278367 );
LBD.offer( 74381793 );
LBD.offer( 10 );
if (!LBD.offer( 10 ))
System.out.println( "The element 10 cannot be inserted" +
" as capacity is full" );
System.out.println( "Linked Blocking Deque: " + LBD);
}
}
|
Output:
The element 10 cannot be inserted as capacity is full
Linked Blocking Deque: [7855642, 35658786, 5278367, 74381793]
Program 2:
import java.util.concurrent.LinkedBlockingDeque;
import java.util.*;
public class GFG {
public static void main(String[] args)
throws IllegalStateException
{
LinkedBlockingDeque<String> LBD
= new LinkedBlockingDeque<String>( 4 );
LBD.offer( "abc" );
LBD.offer( "gopu" );
LBD.offer( "geeks" );
LBD.offer( "richik" );
LBD.offer( "hii" );
if (!LBD.offer( "hii" ))
System.out.println( "The element 'hii' cannot be inserted" +
" as capacity is full" );
System.out.println( "Linked Blocking Deque: " + LBD);
}
}
|
Output:
The element 'hii' cannot be inserted as capacity is full
Linked Blocking Deque: [abc, gopu, geeks, richik]
Reference: https://docs.oracle.com/javase/7/docs/api/java/util/concurrent/LinkedBlockingDeque.html#offer(E)