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:
Java
Java
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:
Program 2:
Elements are : Alex Bob Chuck Drake Eric Queue Size: 0
// 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:
Reference : https://docs.oracle.com/javase/7/docs/api/java/util/concurrent/LinkedTransferQueue.html#take()Elements are : 1 2 3 4 5 Queue Size: 0