ArrayBlockingQueue drainTo() Method in Java

Java 8ProgrammingObject Oriented Programming

The drainTo() method of the ArrayBlockingQueue class removes all available elements from this queue and adds them to the given collection. It returns the number of elements transferred.

The syntax is as follows

int drainTo(Collection<? super E> c)

Here, c is the collection wherein the elements of this queue would be transferred. To work with ArrayBlockingQueue class, you need to import the following package

import java.util.concurrent.ArrayBlockingQueue;

The following is an example to implement drainTo() method of Java ArrayBlockingQueue class

Example

 Live Demo

import java.util.ArrayList;
import java.util.concurrent.ArrayBlockingQueue;
public class Demo {
   public static void main(String[] args) throws InterruptedException {
      ArrayBlockingQueue<Integer> q = new ArrayBlockingQueue<Integer>(10);
      q.add(200);
      q.add(310);
      q.add(400);
      q.add(450);
      q.add(500);
      q.add(550);
      q.add(700);
      System.out.println("ArrayBlockingQueue = " + q);
      ArrayList arrList = new ArrayList();
      q.drainTo(arrList);
      System.out.println("Updated ArrayBlockingQueue = " + q);
      System.out.println("Our collection = " + arrList);
   }
}

Output

ArrayBlockingQueue = [200, 310, 400, 450, 500, 550, 700]
After drainTo Operation
Updated ArrayBlockingQueue = []
Our collection = [200, 310, 400, 450, 500, 550, 700]
raja
Published on 26-Mar-2019 10:15:11
Advertisements