drainTo()
ArrayBlockingQueue类的方法从此队列中删除所有可用的元素,并将它们添加到给定的集合中。它返回传送的元素数。
语法如下
int drainTo(Collection<? super E> c)
在此,c是集合,其中将传输此队列的元素。要使用ArrayBlockingQueue类,您需要导入以下包
import java.util.concurrent.ArrayBlockingQueue;
以下是实现drainTo()
Java ArrayBlockingQueue类的方法的示例
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); } }
输出结果
ArrayBlockingQueue = [200, 310, 400, 450, 500, 550, 700] After drainTo Operation Updated ArrayBlockingQueue = [] Our collection = [200, 310, 400, 450, 500, 550, 700]