集合5 - Queue
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);
}
}
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析