国产成人AV无码一二三区,少女1到100集,国产精品久久久久精品综合紧,巜公妇之诱感肉欲HD在线播放

文章 > java基础 > java中PriorityBlockingQueue的入队

java中PriorityBlockingQueue的入队

java PriorityBlockingQueue入队

头像

小妮浅浅

2021-02-08 19:16:043173浏览 · 0收藏 · 0评论

本教程操作环境:windows7系统、java10版,DELL G3电脑。

1.入队规则

(1)默认的插入规则中,新加入的元素可能会破坏小顶堆的性质,因此需要进行调整。

(2)调整的过程为:从尾部下标的位置开始,将加入的元素逐层与当前点的父节点的内容进行比较并交换,直到满足父节点内容都小于子节点的内容为止。

(3)默认的删除调整中,首先获取顶部下标和最尾部的元素内容,从顶部的位置开始,将尾部元素的内容逐层向下与当前点的左右子节点中较小的那个交换,直到判断元素内容小于或等于左右子节点中的任何一个为止。

2.入队方法

入队方法有: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();
    //定义临时对象
    int n, cap;
    Object[] array;
    //判断数组是否满了
    while ((n = size) >= (cap = (array = queue).length))
        //数组扩容
        tryGrow(array, cap);
    try {
        //拿到比较器
        Comparator<? super E> cmp = comparator;
        //判断是否有自定义比较器
        if (cmp == null)
            //堆上浮
            siftUpComparable(n, e, array);
        else
            //使用自定义比较器进行堆上浮
            siftUpUsingComparator(n, e, array, cmp);
        //队列长度 +1
        size = n + 1;
        //唤醒休眠的出队线程
        notEmpty.signal();
    } finally {
        //释放锁
        lock.unlock();
    }
    return true;
}

可以看出前三个方法内部都是通过 offer(e) 方法实现的。

以上就是java中PriorityBlockingQueue的入队方法,在掌握基本的使用规则后,就可以对offer(e)方法进行重点学习,然后运行相关代码进行试验。

关注

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

查尔斯布朗森| LIBRA| 星空传媒天美传媒有限公司| 九九在线观看免费播放大全电视剧| 波多野结衣| 三亚私人高清影院的更新情况| 父女一起到达巅峰的小说| 《浴室吃奶2》无删减| 年轻的女学生| 泰剧《劈开你的腿》免费观看| 舌头底下舔着有小硬疙瘩视频| 每天晚上都在汆肉中度过句子| 房东天天吃我奶躁我在哪里看 | 双人床上剧烈运动会怎么消除| 开会也一直放里面老板的| 主动把乳头放进男朋友嘴巴里| 女人被添荫蒂舒服了| 未满十八岁请自动离开的英语| 憋尿白丝小肚子凸起高冷知乎| 打扑克视频| 老人船上弄雨荷1一5节| 女生给男生吃小头头 | 《喂奶人妻厨房HD》| 性饥渴美国女兵理论片| 骨科1v1溢奶吸不完怎么办| 女生把球球给男生抓的视频| 娇瘾缠欢TXT小说| 男人问你舒服吗出于什么心理| 老公不在我和公发| B站暴躁姐的丈夫是干什么的| 《一滴都不许漏》何泽城林荫| 女子监狱理伦A片| 兽父1到16集一口气看完| 16岁小花妹妹CSGO| 公日日躁我和公乱小说| 黄文| 桥本有菜| 男人问你舒服吗出于什么心理| 女人荫蒂被添全过程A片免费| 《漂亮的秘书HD》在线观看| 《请好好疼爱里面》免费观看