成人视屏在线观看-国产99精品-国产精品1区2区-欧美一级在线观看-国产一区二区日韩-色九九九

您的位置:首頁技術(shù)文章
文章詳情頁

java中PriorityBlockingQueue的入隊(duì)知識(shí)點(diǎn)總結(jié)

瀏覽:30日期:2022-08-18 14:47:51

在PriorityBlockingQueue中添加元素同樣有四種方法,因?yàn)槭菢錉畹慕Y(jié)構(gòu),所以在插入方法上也有所變化,是自下而上的操作過程。在入隊(duì)的規(guī)則上有三個(gè)要點(diǎn)需要我們注意。鑒于PriorityBlockingQueue入隊(duì)方法主要通過offer(E)實(shí)現(xiàn),所以我們就這種方法作主要講解。

1.入隊(duì)規(guī)則

(1)默認(rèn)的插入規(guī)則中,新加入的元素可能會(huì)破壞小頂堆的性質(zhì),因此需要進(jìn)行調(diào)整。

(2)調(diào)整的過程為:從尾部下標(biāo)的位置開始,將加入的元素逐層與當(dāng)前點(diǎn)的父節(jié)點(diǎn)的內(nèi)容進(jìn)行比較并交換,直到滿足父節(jié)點(diǎn)內(nèi)容都小于子節(jié)點(diǎn)的內(nèi)容為止。

(3)默認(rèn)的刪除調(diào)整中,首先獲取頂部下標(biāo)和最尾部的元素內(nèi)容,從頂部的位置開始,將尾部元素的內(nèi)容逐層向下與當(dāng)前點(diǎn)的左右子節(jié)點(diǎn)中較小的那個(gè)交換,直到判斷元素內(nèi)容小于或等于左右子節(jié)點(diǎn)中的任何一個(gè)為止。

2.入隊(duì)方法

入隊(duì)方法有:add(E), put(E), offer(E, timeout, TimeUnit), offer(E)

public void put(E e) { offer(e); // never need to block}public boolean offer(E e) { //判斷是否為空 if (e == null) throw new NullPointerException(); //顯示鎖 final ReentrantLock lock = this.lock; lock.lock(); //定義臨時(shí)對(duì)象 int n, cap; Object[] array; //判斷數(shù)組是否滿了 while ((n = size) >= (cap = (array = queue).length)) //數(shù)組擴(kuò)容 tryGrow(array, cap); try { //拿到比較器 Comparator<? super E> cmp = comparator; //判斷是否有自定義比較器 if (cmp == null) //堆上浮 siftUpComparable(n, e, array); else //使用自定義比較器進(jìn)行堆上浮 siftUpUsingComparator(n, e, array, cmp); //隊(duì)列長(zhǎng)度 +1 size = n + 1; //喚醒休眠的出隊(duì)線程 notEmpty.signal(); } finally { //釋放鎖 lock.unlock(); } return true;}

可以看出前三個(gè)方法內(nèi)部都是通過 offer(e) 方法實(shí)現(xiàn)的。

標(biāo)簽: Java
相關(guān)文章:
主站蜘蛛池模板: 日本尹人综合香蕉在线观看 | a一区二区三区视频 | 日本乱理伦片在线观看网址 | 一区二区网站 | 欧美日韩精品在线播放 | 岛国伊人 | 荡公乱妇蒂芙尼中文字幕 | 精品国产视频在线观看 | 国产欧美日韩在线一区二区不卡 | 国产精品久久久久久久久 | 一级做a爱视频 | 在线观看国产一区 | 国产露脸3p普通话 | 国产区一区二区三 | 亚洲人免费视频 | 欧美视频一区二区在线观看 | 欧美操操操| 国产原创在线视频 | 9丨精品国产高清自在线看 ⅹxx中国xxx人妖 | freese×video性欧美丝袜 | 色悠久 | 亚洲日韩中文字幕天堂不卡 | 日韩欧美国产亚洲 | 国产欧美日韩精品第一区 | 国产一级高清 | 老司机亚洲精品影院在线 | 亚洲精品久久九九热 | 国产自产21区 | 成人在线观看午夜 | 欧美aaaaa一级毛片在线 | 国产三级在线观看视频 | 成人欧美精品大91在线 | 日韩成人在线视频 | 国产精品一区二区三区高清在线 | 日韩精品中文字幕一区二区三区 | 99久久精品6在线播放 | 国产香港特级一级毛片 | 男人操美女 | 农村寡妇特一级毛片 | 国产一级毛片免 | 日韩一区视频在线 |