最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當(dāng)前位置: 首頁 - 科技 - 知識百科 - 正文

java priorityqueue

來源:懂視網(wǎng) 責(zé)編:臨意 時間:2021-12-25 14:20:22
文檔

java priorityqueue

java中的priorityqueue一般也就是代表優(yōu)先隊列。這是屬于Queue接口的實現(xiàn),能夠?qū)ζ渲性剡M行排序,還能放基本數(shù)據(jù)類型的包裝類或是自定義的類,而對于基本數(shù)據(jù)類型的包裝類,優(yōu)先隊列中元素一般是默認排列順序為升序排列的。
推薦度:
導(dǎo)讀java中的priorityqueue一般也就是代表優(yōu)先隊列。這是屬于Queue接口的實現(xiàn),能夠?qū)ζ渲性剡M行排序,還能放基本數(shù)據(jù)類型的包裝類或是自定義的類,而對于基本數(shù)據(jù)類型的包裝類,優(yōu)先隊列中元素一般是默認排列順序為升序排列的。

java priorityqueue是怎樣的呢?下面就讓我們一起來了解一下吧:

java中的priorityqueue一般也就是代表優(yōu)先隊列。

這是屬于Queue接口的實現(xiàn),能夠?qū)ζ渲性剡M行排序,還能放基本數(shù)據(jù)類型的包裝類或是自定義的類,而對于基本數(shù)據(jù)類型的包裝類,優(yōu)先隊列中元素一般是默認排列順序為升序排列的。

參考范例:

隊列保存的是基本數(shù)據(jù)類型的包裝類,具體代碼為:

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

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()+" ");

        }

        /**

         * 輸出結(jié)果

         * 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()+" ");

        }

        /**

         * 輸出結(jié)果

         * 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);

        }

     /**

      * 輸出結(jié)果

      * 長: 1 寬:2

      * 長: 2 寬:5

      * 長: 2 寬:3

      */

    }

}

以上就是小編的分享了,希望能夠幫助到大家。

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

java priorityqueue

java中的priorityqueue一般也就是代表優(yōu)先隊列。這是屬于Queue接口的實現(xiàn),能夠?qū)ζ渲性剡M行排序,還能放基本數(shù)據(jù)類型的包裝類或是自定義的類,而對于基本數(shù)據(jù)類型的包裝類,優(yōu)先隊列中元素一般是默認排列順序為升序排列的。
推薦度:
標(biāo)簽: java priorityqueue
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top