PriorityQueue优先级队列及优先级阻塞队列
来源:互联网 发布:私募 变更 知乎 编辑:程序博客网 时间:2024/06/05 07:37
使用优先级队列时必须进行对象进行排序
//优先级阻塞队列 调用take方法PriorityBlockingQueue<PriorityEntity> priorityBlockingQueue = new PriorityBlockingQueue<PriorityEntity>();PriorityEntity priorityEntity1 = new PriorityEntity ("123",2L);PriorityEntity priorityEntity2 = new PriorityEntity ("we4",1L);priorityBlockingQueue.put(priorityEntity1);priorityBlockingQueue.put(priorityEntity2);//如果队列满了,再添加就会被阻塞try { System.out.println(priorityBlockingQueue.take().getEntity() + ""); System.out.println(priorityBlockingQueue.take().getEntity() + ""); System.out.println(priorityBlockingQueue.take().getEntity() + "");//为空,数据等待有数据} catch (InterruptedException e) { e.printStackTrace();}//优先级队列PriorityQueue<PriorityEntity> priorityQueue = new PriorityQueue<PriorityEntity>();PriorityEntity priority1 = new PriorityEntity ("123",2L);PriorityEntity priority2 = new PriorityEntity ("we4",1L);priorityQueue.add(priority1);priorityQueue.add(priority2);//如果队列满了,再添加就报错System.out.println(priorityQueue.poll().getEntity() + "");System.out.println(priorityQueue.poll().getEntity() + "");System.out.println(priorityQueue.poll().getEntity() + "");//为空,再去直接空指针
}
package com.lixy.practice;/** * 可对比两个实体大小的类 * Created by Administrator on 2016/56. */public class PriorityEntity implements Comparable<PriorityEntity> { private Object entity; private long priority; public PriorityEntity(Object entity, long priority) { this.entity = entity; this.priority = priority; } /** * 用当前实体的priority与o的对比,数字小优先级高 * @param o 对比实体 * @return 1:当前实体大;-1:当前实体小;0:相等 */ @Override public int compareTo(PriorityEntity o) { if(this.priority > o.priority) return 1; else if(this.priority < o.priority) return -1; else return 0; } public Object getEntity() { return entity; } public long getPriority() { return priority; }}
0 0
- PriorityQueue优先级队列及优先级阻塞队列
- PriorityQueue--优先级队列
- 优先级队列:PriorityQueue
- Java优先级队列PriorityQueue
- PriorityQueue 优先级队列
- PriorityQueue优先级队列
- 优先级队列:PriorityQueue
- 优先级队列:PriorityQueue
- 优先级队列:PriorityQueue
- 优先级队列:PriorityQueue
- PriorityQueue优先级队列
- PriorityQueue 优先级队列【java】
- 优先级队列PriorityQueue
- 优先级队列PriorityQueue介绍
- Android PriorityQueue优先级队列 学习!
- JAVA中的优先级队列PriorityQueue
- android PriorityQueue优先级队列解析
- 优先级队列——PriorityQueue
- React Native ListView的长按删除功能
- Kafka文件存储机制那些事
- java数据结构和算法---基本查找排序
- Java 容器ArrayList.toArray() 问题
- MaxCompute上你从未体验过的数据分析和机器学习过程
- PriorityQueue优先级队列及优先级阻塞队列
- jmeter-plugins插件配置
- Oracle创建用户命令
- jquery中$(":input")和$("input")有什么区别
- ny76-超级台阶
- jquery 属性操作
- 慕轲博客
- 数加平台如何通过Serverless 架构实现普惠大数据
- float机器表示