栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

当Java PriorityQueue的元素更改优先级时更新

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

当Java PriorityQueue的元素更改优先级时更新

你必须删除并重新插入,因为队列的工作原理是在插入新元素时将它们放置在适当的位置。这比每次退出队列时查找优先级最高的元素的替代方法要快得多。缺点是插入元素后无法更改优先级。TreeMap具有相同的限制(与HashMap一样,在插入后其元素的哈希码更改时也会中断)。

如果要编写包装器,可以将比较代码从入队移到出队。你不再需要在入队时间进行排序(因为如果允许更改,它创建的顺序将始终不可靠)。

但这会导致性能变差,并且如果你更改任何优先级,都希望在队列上进行同步。由于在更新优先级时需要添加同步代码,因此你也可能只需要出队和入队(在两种情况下都需要引用队列)。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/400391.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号