我有一个名为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)}.
我希望我足够清楚。任何帮助将不胜感激。