Java: PriorityQueueкомпаратор и реализация - PullRequest
0 голосов
/ 19 мая 2018

У меня есть объект с именем 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;
    }
}

Теперь я хочу, чтобы, если два значения равны, были в одном наборе.Так что очередь должна выглядеть так:

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

Надеюсь, я достаточно ясно.Любая помощь будет оценена.

...