日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java的优先队列注意事项

發布時間:2023/12/31 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java的优先队列注意事项 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在C++語言中,使用優先隊列,直接構建一個lambda表達式,使用一個匿名函數指針。java比較函數的返回值不是bool型,只能是整型。

內部對應的C++匿名函數:

// 匿名Comparator實現

auto compareMax = []( const Cell &a, const Cell &b ) { return a.max < b.max; };

對應的Java函數:

import java.util.Queue; import java.util.Comparator; import java.util.PriorityQueue;// 匿名Comparator實現public static Comparator<Cell> compareMax = new Comparator<Cell>() {@Overridepublic int compare(Cell c1, Cell c2) {if (c1.max < c2.max)return 1;elsereturn -1;}};

匿名比較函數實現,java使用int型,返回值為1-1C++可以使用boolean型。其實應該寫一個lambda表達式的

?

Java優先隊列的使用:

Queue<Cell> cellQueue = new PriorityQueue( compareMax );
對應C++ 優先隊列的使用:

using Queue = std::priority_queue< Cell<T>, std::vector<Cell<T> >, decltype(compareMax)>; Queue<Cell> cellQueue = new PriorityQueue(compareMax);


實現功能,在插入時,可以使用c.max進行排序插入。

?

參考:java函數式編程之lambda表達式

匿名類實現匿名函數:

public void testAnonymousClass() {Integer[] nums = {2, 5, 1, 6};Arrays.sort(nums, new Comparator<Integer>() {@Overridepublic int compare(Integer o1, Integer o2) {if(o1 < o2)return -1;return 0;}});for (Integer n : nums) {System.out.println(n);} }
lambda 表達式:

public void testAnonymousClass() {Integer[] nums = {2, 5, 1, 6};Arrays.sort(nums, (o1, o2) -> {if(o1 < o2)return -1;return 0;});for (Integer n : nums) {System.out.println(n);} }

?參考:javaqueue的使用

??? Queue接口與List、Set同一級別,都是繼承了Collection接口。LinkedList實現了Queue接 口。Queue接口窄化了對LinkedList的方法的訪問權限(即在方法中的參數類型如果是Queue時,就完全只能訪問Queue接口所定義的方法 了,而不能直接訪問 LinkedList的非Queue的方法),以使得只有恰當的方法才可以使用。BlockingQueue 繼承了Queue接口。

add??????? 增加一個元索???????????????????? 如果隊列已滿,則拋出一個IIIegaISlabEepeplian異常
remove?? 移除并返回隊列頭部的元素??? 如果隊列為空,則拋出一個NoSuchElementException異常
element??返回隊列頭部的元素???????????? 如果隊列為空,則拋出一個NoSuchElementException異常
offer?????? 添加一個元素并返回true???????如果隊列已滿,則返回false
poll???????? 移除并返問隊列頭部的元素????如果隊列為空,則返回null
peek?????? 返回隊列頭部的元素???????????? 如果隊列為空,則返回null
put???????? 添加一個元素????????????????????? 如果隊列滿,則阻塞
take??????? 移除并返回隊列頭部的元素???? 如果隊列為空,則阻塞

removeelementoffer?pollpeek?其實是屬于Queue接口。?

?

參考:java8 手把手教你學會寫lambda表達式



總結

以上是生活随笔為你收集整理的java的优先队列注意事项的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 91av视频在线观看 | 久久久久人妻一区精品 | 九九九久久久精品 | 成人精品福利 | 手机在线观看日韩av | 能在线观看的av网站 | 精品91久久久久久 | 欧美综合亚洲 | 女女同性女同一区二区三区按摩 | 操女人视频网站 | 亚洲精品无人区 | 性做久久久久久久久 | 国产精品精品视频 | 日韩一级成人 | 久久一区二区精品 | av男人的天堂av | 麻豆av在线免费观看 | 天堂网在线最新版www中文网 | 欧美图片一区二区 | 性xxx法国hd极品 | 欧美精品成人一区二区在线观看 | 无码人妻精品一区二区三区蜜桃91 | 久久天堂av综合合色蜜桃网 | 欧美tv| 国产一区亚洲二区 | 美女黄色小视频 | 六月天婷婷| 中文字幕在线观看 | 日韩va在线观看 | 爽爽视频在线观看 | 欧美激情视频在线观看 | 又黄又色的网站 | 日本韩国毛片 | 欧美成人hd | 日韩字幕在线观看 | 精品在线99| 亚洲AV无码成人精品区明星换面 | 欧美人与性禽动交精品 | 亚洲三级视频在线观看 | 男人天堂你懂的 | 欧美日韩一区二区在线观看 | 少妇精品亚洲一区二区成人 | 欧美综合自拍 | 国产成人精品久久二区二区91 | 欧美成人激情视频 | 国产视频在线观看视频 | 久久亚洲熟女cc98cm | 老头老夫妇自拍性tv | 国产亚洲精品女人久久久久久 | 欧美xxxx视频 | 国产精品美女在线观看 | 日日碰狠狠添天天爽 | 欧美xxxbbb| 99成人精品 | 欧美男人操女人 | 香蕉视频在线免费播放 | 国产精品19p | 日本黄动漫 | 成人资源在线观看 | 91精品久久香蕉国产线看观看 | 国产精品麻豆一区二区 | 97精品国产97久久久久久春色 | 亚洲av无码一区二区三区dv | 日韩有码中文字幕在线 | 久久咪咪 | 成人福利社 | 亚洲爆乳无码一区二区三区 | 91精品91| 性生活在线视频 | 香港a毛片 | 亚洲精品1区2区3区 国产丝袜网站 | 亚洲精品不卡 | 人人夜| 国产在线综合视频 | 日本成人黄色片 | 青青草草 | 国产av无码专区亚洲av麻豆 | 搡老熟女老女人一区二区 | www.xxx日韩| www 在线观看视频 | 免费观看的黄色网址 | 国产欧美一区二区三区在线 | 国产无限资源 | 清清草视频 | 麻豆网页 | 精品福利在线观看 | 伊人论坛| 国产一级aa大片毛片 | av色图片| 亚洲美女综合网 | 黄色片免费在线播放 | 蜜臀视频在线观看 | 欧洲免费毛片 | 最近免费中文字幕中文高清百度 | 美女视频一区 | 日韩成人av免费在线观看 | 歪歪6080 | 欧美大片大全 | 国产一级免费在线观看 |