gpt4 book ai didi

java - PriorityQueue,我错过了什么?

转载 作者:行者123 更新时间:2023-12-02 06:54:33 26 4
gpt4 key购买 nike

我有一个比较器类 NComparator,它比较 2 个 Node 对象并返回 1、-1 或 0。

我初始化了一个初始容量为 100 的 PriorityQueue 和那个 NComparator。

    NComparator nc = new NComparator();
PriorityQueue<Node> pq = new PriorityQueue<Node>(100, nc);

我有大约 25 个 Node 对象(可以与 NComparator 进行比较),我将它们全部添加到 PriorityQueue 对象中:

  pq.add(new Node("A", 3));
pq.add(new Node("G", 1));
pq.add(new Node("B", 10));
.... etc

如何根据比较器(仅比较节点的成对组合)返回的优先级在 PriorityQueue 中排列这些节点对象?具体来说,我希望能够访问此 PriorityQueue 中优先级最低的两个节点。我怎样才能做到这一点?

最佳答案

PriorityQueue API 仅支持获取优先级最低的单个节点,但您可以删除该节点,然后再次查询以获取下一个最低的元素。

关于java - PriorityQueue,我错过了什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17558717/

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