Queue - ArrayBlockingQueue
底层实现 -- 数组
Array(数组) - Blocking(创建对象时的容量,多了就堵塞) - Queue(先进先出)
public class _Queue {
public static void main(String[] args) throws Exception{
//TODO Collection Queue
ArrayBlockingQueue queue = new ArrayBlockingQueue(3);
System.out.println("第一个数据");
queue.add("hehe");
System.out.println("第二个数据");
queue.add("haha");
System.out.println("第三个数据");
queue.add("hoho");
//queue.add("hoho"); add方法超过容量并不会触发Blocking,而是直接报错
System.out.println("第四个数据");
//queue.put("oooo");
//.put()方法 超过容量后会堵塞,程序会持续等待空闲容量
System.out.println(queue.offer("oooo")); //false
//.offer()方法 超过容量后返回false
//TODO .poll() .take() 取数据
System.out.println(queue.poll()); //最先入队的数据被删除
System.out.println(queue.poll());
//System.out.println(queue.poll());
//System.out.println(queue.poll()); //空队列返回null
System.out.println(queue.take());
System.out.println(queue.take()); //空队列进入等待状态
System.out.println(queue);
}
}
标签:queue,System,Queue,println,集合,poll,out
From: https://www.cnblogs.com/Ashen-/p/17022943.html