Я должен реализовать очередь приоритетов с помощью MultiMap. Я использую MultiMap из Коллекций Google. Следующий код создает MultiMap и добавляет в него несколько элементов.Приоритетная очередь с использованием MultiMap - Java
Multimap<Integer, String> multimap = HashMultimap.create();
multimap.put(5,"example");
multimap.put(1,"is");
multimap.put(1,"this");
multimap.put(4,"some");
Теперь моя проблема заключается в том, как написать метод pop?
Я думаю, что должен быть цикл for, и он должен повторяться через MultiMap.
Самый низкий ключ должен быть наивысшим приоритетом, поэтому в C++ я бы установил указатель на первый элемент и увеличил его. Как это сделать в Java?
Спасибо, это полезно, но как пройти через TreeMultiMap? – Devel
Используйте 'multimap.entries()' и повторите это с помощью метода 'iterator()'. Я обновлю ответ. – jacobm
Я думаю, что это был последний вопрос: я могу отобразить объект: 'System.out.println (multimap.entries(). Iterator(). Next());' и теперь как удалить этот элемент с первичным приоритетом (подобный pop способ обычно делает)? – Devel