在对象的优先级队列中搜索元素

时间:2019-07-07 16:23:27

标签: java object search queue priority-queue

我正在实现对象的优先级队列,并希望根据其属性之一搜索对象。如何检索特定对象?

我正在使用Java的PriorityQueue,并且只需要使用其属性之一(例如obj.first或obj.second)搜索对象

PriorityQueue<node> minHeap = new PriorityQueue(n+1,new Comparator<node>(){
    public int compare(node a, node b){
        return Integer.compare(a.sum,b.sum);
    }
});
node nn = minHeap.poll();
int val = nn.first;

我想从nn中搜索属性为“ first”的堆,并从堆中获取第一个或第二个与Val匹配的条目

class node{
    int first;
    int second;
    int sum;

    public node(int a, int b, int s){
        this.first = a;
        this.second = b;
        this.sum = s;
    }
}

0 个答案:

没有答案