java priorityqueue
java priorityqueue是怎样的呢?下面就让我们一起来了解一下吧:
java中的priorityqueue一般也就是代表优先队列。
这是属于Queue接口的实现,能够对其中元素进行排序,还能放基本数据类型的包装类或是自定义的类,而对于基本数据类型的包装类,优先队列中元素一般是默认排列顺序为升序排列的。
参考范例:
队列保存的是基本数据类型的包装类,具体代码为:
//自定义比较器,降序排列
static Comparator<Integer> cmp = new Comparator<Integer>() {
public int compare(Integer e1, Integer e2) {
return e2 - e1;
}
};
public static void main(String[] args) {
//不用比较器,默认升序排列
Queue<Integer> q = new PriorityQueue<>();
q.add(3);
q.add(2);
q.add(4);
while(!q.isEmpty())
{
System.out.print(q.poll()+" ");
}
/**
* 输出结果
* 2 3 4
*/
//使用自定义比较器,降序排列
Queue<Integer> qq = new PriorityQueue<>(cmp);
qq.add(3);
qq.add(2);
qq.add(4);
while(!qq.isEmpty())
{
System.out.print(qq.poll()+" ");
}
/**
* 输出结果
* 4 3 2
*/
}
队列保存的是自定义类,具体代码为:
//矩形类
class Node{
public Node(int chang,int kuan)
{
this.chang=chang;
this.kuan=kuan;
}
int chang;
int kuan;
}
public class Test {
//自定义比较类,先比较长,长升序排列,若长相等再比较宽,宽降序
static Comparator<Node> cNode=new Comparator<Node>() {
public int compare(Node o1, Node o2) {
if(o1.chang!=o2.chang)
return o1.chang-o2.chang;
else
return o2.kuan-o1.kuan;
}
};
public static void main(String[] args) {
Queue<Node> q=new PriorityQueue<>(cNode);
Node n1=new Node(1, 2);
Node n2=new Node(2, 5);
Node n3=new Node(2, 3);
Node n4=new Node(1, 2);
q.add(n1);
q.add(n2);
q.add(n3);
Node n;
while(!q.isEmpty())
{
n=q.poll();
System.out.println("长: "+n.chang+" 宽:" +n.kuan);
}
/**
* 输出结果
* 长: 1 宽:2
* 长: 2 宽:5
* 长: 2 宽:3
*/
}
}
-
哈弗h6储物卷帘盖怎么更换
哈弗h6储物卷帘盖是属于卡扣式固定的,直接手工拆卸就可以打开。拆卸过程中需注意储物盒卡扣上是使用塑料的固定盖板进行固定的,注意不要弄断。随着汽车的普及,人们对于汽车提出了更高的...
问答查看全文>> -
起亚嘉华发动机号位置在哪?
起亚嘉华发动机号是在的发动机的缸体上面:1、发动机号最准确的名称是车辆识别码,是车辆身份证,这与人的身份证号相同,每辆车都有自己独特的串号和字母组成;2、由17位数字和字母组成...
问答查看全文>> -
宝马3系价格曝光怎么样?
宝马3系价格:1、现款华晨宝马3系指导价是31.68至36.68万,因为2019年中新一代3系就要上市了,所以现款都在清库存,优惠巨大(广州地区优惠9至13万左右);2、如果不...
问答查看全文>> -
离合器烧了车还能开吗
发现汽车离合器烧了不可以接着开,需要立即到维修点或手动进行更换。汽车烧离合器存在多种因素,比如驾驶员不规范的驾驶习惯等。行车过程中,离合没放到位或者离合没调好,导致离合分离不彻...
问答查看全文>>
推荐
- 1关于新年的小诗114
- 2汽车坐垫怎么固定在椅子上276
- 3领动后视镜怎么折,领动后视镜折叠在哪406
- 4狗猫鼠好词好句321
- 5爱一人的伤感签名239
- 6右转红灯过线停住算闯红灯吗?122
- 7六神菁萃沐浴露系列统统帮你解决 多种肌肤问题102
- 8奇瑞汽车奇瑞QQ3首保注意事项?456