Java:PriorityQueue <set <object>&gt;比较和实施

时间:2018-05-19 09:40:10

标签: java set comparator priority-queue

我有一个名为Event的对象。我曾经将这些事件保存到:

Queue<Event> Q = new PriorityQueue<>(new EventCompare());

但是现在我发现它会更好,如果我有集合队列:

Queue<Set<Event>> Q = new PriorityQueue<>(new EventCompare());

在我的比较器中,我比较了事件的值。

private class EventCompare implements Comparator<Event> {
    @Override
    public int compare(Event e1, Event e2) {
        if(e1.getValue() > e2.getValue()) {
            return 1;
        }
        else if(e1.getValue() < e2.getValue()) {
            return -1;
        }


        return 0;
    }
}

现在我希望如果两个值相等,则在同一个Set中。所以队列应该是这样的:

{Event(1)}, {Event(12)}, {Event(15), Event(15)}.

我希望我足够清楚。任何帮助将不胜感激。

0 个答案:

没有答案