putFirst(e) method of BlockingDeque Interface in Java.

putFirst(e) method of BlockingDeque Interface in Java.


Posted in : Core Java Posted on : March 4, 2011 at 5:45 PM Comments : [ 0 ]

In this section we will discuss how can putFirst(e) method be implemented in BlockingDeque interface in java.

putFirst(e) method of BlockingDeque Interface in Java.

In this section we will discuss how can putFirst(e) method be implemented in BlockingDeque interface in java.

Syntax

void putFirst(E e)

This method inserts a specified element at the first position into the deque, to insert an element this method waits (if necessary) until the wait time is specified for becoming the space available.

Parameter description

e : It takes an argument what do you want to insert into the deque.

Example of putFirst() method

In this example we will show you how does putFirst() method work in BlockingDeque interface. This example will help you to understand how can you insert a specified element at the first position into the underlying deque.

Example :

package devmanuals.com;
import java.util.concurrent.BlockingDeque;
import java.util.concurrent.LinkedBlockingDeque;
class PutFirst implements Runnable {
  String name;
  BlockingDeque<Integer> bdq;
  public PutFirst(String name, BlockingDeque<Integer> bdq) {
    this.name = name;
    this.bdq = bdq;
  }
  public void run() {
    System.out.println(name + " inserted the element into the deque");
    for (int i = 1; i < 6; i++) {
      bdq.add(i);
      try {
        Thread.sleep(400);
        System.out.println(i);
        }
      catch (InterruptedException e) {
        e.printStackTrace();
      }
    }
    System.out.println("Therfore deque = " + bdq);
    System.out.println("Size of deque = " + bdq.size());
    int j = bdq.pollLast();
    System.out.println("After removing the last element (" + j"), the remaining \n elements of deque = " + bdq" and size = " + bdq.size());
  }
}
class PutFirst1 implements Runnable {
  String name;
  BlockingDeque<Integer> bdq;
  public PutFirst1(String name, BlockingDeque<Integer> bdq) {
    this.name = name;
    this.bdq = bdq;
  }
  public void run() {
    try {
      Thread.sleep(1500);
      // Here the implementation of this method will insert a new element into
      // the deque.
      bdq.putFirst(0);
     System.out.println("Inserting a new element \n at first position then deque = "+ bdq + "and size = " + bdq.size());
    catch (InterruptedException e) {
      e.printStackTrace();
    }
  }
}
public class BdqPutFirst {
  public static void main(String[] args) {
    BlockingDeque<Integer> bdq = new LinkedBlockingDeque<Integer>(5);
    Runnable a = new PutFirst("A", bdq);
    Runnable b = new PutFirst1("B", bdq);
    new Thread(a).start();
    try {
      Thread.sleep(1000);
    catch (InterruptedException e) {
      e.printStackTrace();
    }
    new Thread(b).start();
  }
}

Output :

A inserted the element into the deque

1

2

3

4

5

Therfore deque = [1, 2, 3, 4, 5]

Size of deque = 5

After removing the last element (5), the remaining

elements of deque = [1, 2, 3, 4] and size = 4

Inserting a new element

at first position then deque = [0, 1, 2, 3, 4]and size = 5

Download Source Code

Go to Topic «PreviousHomeNext»

Your Comment:


Your Name (*) :
Your Email :
Subject (*):
Your Comment (*):
  Reload Image
 
 

 
Tutorial Topics