Open In App

LinkedTransferQueue take() method in Java

Last Updated : 14 Sep, 2018
Improve
Improve
Like Article
Like
Save
Share
Report

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());
    }
}


Output:

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());
    }
}


Output:

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()



Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads