The java.util.concurrent.LinkedTransferQueue.take() method is an in-built function in Java which retrieves and remove the first element of the queue. This method also waits (if necessary) until an element becomes available.
Syntax:
LinkedTransferQueue.take()
Parameters: The function does not accept any parameter.
Return Value: The function returns the first element of the queue.
Exceptions: The function throws InterruptedException if interrupted while waiting.
Below programs illustrate the java.util.concurrent.LinkedTransferQueue.take() :
Program 1:
// Java Program Demonstrate take()// method of LinkedTransferQueue   import java.util.concurrent.LinkedTransferQueue;  class LinkedTransferQueueTakeExample1 {    public static void main(String[] args) throws Exception    {        // Initializing the queue        LinkedTransferQueue<String> queue =                         new LinkedTransferQueue<String>();          // Adding elements to this queue        queue.add("Alex");        queue.add("Bob");        queue.add("Chuck");        queue.add("Drake");        queue.add("Eric");          // Printing the elements        System.out.println("Elements are :");        for (String xyz : queue) {            // will take and remove the head of the queue            System.out.println(queue.take());        }          // Printing the size of the Queue        System.out.println("Queue Size: " + queue.size());    }} |
Elements are : Alex Bob Chuck Drake Eric Queue Size: 0
Program 2:
// Java Program Demonstrate take()// method of LinkedTransferQueue   import java.util.concurrent.LinkedTransferQueue;  class LinkedTransferQueueTakeExample2 {    public static void main(String[] args) throws Exception    {        // Initializing the queue        LinkedTransferQueue<Integer> queue =                         new LinkedTransferQueue<Integer>();          // Adding elements to this queue        for (int i = 1; i <= 5; i++)            queue.add(i);          // Printing the elements        System.out.println("Elements are :");        for (Integer xyz : queue) {            // will take and remove the head of the queue            System.out.println(queue.take());        }        // Printing the size of the Queue        System.out.println("Queue Size: " + queue.size());    }} |
Elements are : 1 2 3 4 5 Queue Size: 0
Reference : https://docs.oracle.com/javase/7/docs/api/java/util/concurrent/LinkedTransferQueue.html#take()
