GROUP BY также помогает, когда Вы хотите генерировать отчет, который составит в среднем или суммирует набор данных. Вы можете ГРУППА идентификатором Отдела и СУММОЙ вся выручка от реализации или AVG количество продаж в течение каждого месяца.
Вы должны удалить элемент, изменить его и повторно вставить, поскольку упорядочение происходит при его вставке. Хотя он включает в себя несколько этапов, он эффективен может быть достаточно хорошим. (Я только что заметил, что комментарий об удалении равен O (n).)
Одна проблема заключается в том, что он также будет переупорядочен, когда вы удалите элемент, что является избыточным, если вы просто собираетесь повторно вставить его через мгновение . Если вы реализуете свою собственную очередь приоритетов с нуля, у вас может быть update (), который пропускает этот шаг, но расширение класса Java не будет работать, потому что вы по-прежнему ограничены функциями remove () и add (), предоставляемыми базой.
Я бы ожидал, что PriorityQueue
не изменит порядок вещей - и он может очень запутаться, если попытается выполнить двоичный поиск, чтобы найти нужный место для размещения любых новых записей.
Вообще говоря, я бы ожидал, что изменение приоритета чего-то, что уже находится в очереди, будет плохой идеей, точно так же, как изменение значений, составляющих ключ в хеш-таблице.