海詩網 知識百科 java(java是什么)

java(java是什么)

java, java中的Priorityqueue一般代表優(yōu)先級隊列。

這是Queue接口的實現,可以對里面的元素進行排序,也可以放基本數據類型的包裝類或者自定義類。對于基本數據類型的包裝類,默認情況下,優(yōu)先級隊列中的元素通常按升序排列。

java是什么

參考示例:

隊列存儲基本數據類型的包裝類,具體代碼為:

//自定義比較器,按降序排序

static ComparatorInteger cmp=new ComparatorInteger() {

public int compare(Integer e1, Integer e2) {

return e2 - e1;

}

};

public static void main(String[] args) {

//沒有比較器,默認排列是升序。

QueueInteger q=new PriorityQueue();

q.add(3);

q.add(2);

q.add(4);

while(!q.isEmpty())

{

System.out.print(q.poll()+ );

}

/**

*輸出結果

* 2 3 4

*/

//使用自定義比較器按降序排序。

QueueInteger qq=new PriorityQueue(cmp);

qq.add(3);

qq.add(2);

qq.add(4);

while(!qq.isEmpty())

{

System.out.print(qq.poll()+ );

}

/**

*輸出結果

* 4 3 2

*/

}

java是什么

隊列存儲自定義類,具體代碼為:

//矩形類

class Node{

public Node(int chang,int kuan)

{

this.chang=chang;

this.kuan=kuan;

}

int chang;

int kuan;

}

public class Test {

//用戶自定義的比較類,先長后短,按長度升序排列,外觀相等則更寬,降序排列則更寬。

static ComparatorNode cNode=new ComparatorNode() {

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) {

QueueNode 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 .寬);

}

/**

*輸出結果

*長度:1寬度:2

*長:2寬:5

*長:2寬:3

*/

}

}

以上是邊肖的分享,希望對大家有所幫助。

java,以上就是本文為您收集整理的java最新內容,希望能幫到您!更多相關內容歡迎關注。

本文來自網絡,不代表海詩網立場,轉載請注明出處:http://x91880.com/n/169245.html
      

ping(pingpong)

發(fā)表回復
聯(lián)系我們
聯(lián)系我們

在線咨詢: QQ交談

郵箱: 3587015498@qq.com

工作時間:周一至周五,9:00-17:30,節(jié)假日休息

關注微信
微信掃一掃關注我們
微信掃一掃關注我們
關注微博
返回頂部