gpt4 book ai didi

java - 如何比较Java PriorityQueue中的任意元素?

转载 作者:行者123 更新时间:2023-12-02 08:12:04 25 4
gpt4 key购买 nike

我有一个 PriorityQueue,其中有一个具有优先级的元素。现在我想以不同的优先级再次添加相同的元素,并仅保留具有较高优先级的元素。我想过将新元素与已存在的元素进行比较,然后决定是保留旧元素还是替换,但我找不到一种方法将新元素与 PriorityQueue 中的任意元素进行比较>.

最佳答案

PriorityQueue 并不是要访问其中的任意元素,它的设计目的是允许快速访问单独的头部。如果您需要经常执行此操作,java.util.TreeSet 可能是更好的数据结构。

但是,您可以通过迭代 PriorityQueue [使用 Iterator] 并在找到匹配项时中断来访问任何元素。在任何情况下,对于 PriorityQueue 来说,获取任意元素都无法获得比 O(n) 更好的性能,因为它的设计初衷并不是这样做。

关于java - 如何比较Java PriorityQueue中的任意元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7219819/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com