Выбор ответа Junior Задачи на Java обновлено

Куча максимумов

Вопрос

Как получить PriorityQueue<Integer>, у которой сверху максимум?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: new PriorityQueue<(Comparator.reverseOrder()). PriorityQueue в Java это куча минимумов по естественному порядку или компаратору.

Варианты ответа

  1. new PriorityQueue<>(): она по умолчанию отдаёт максимум
  2. new PriorityQueue<>(true)
  3. new PriorityQueue<>(Comparator.reverseOrder())правильный ответ
  4. Collections.reverse(new PriorityQueue<>())

Разбор

PriorityQueue в Java это куча минимумов по естественному порядку или компаратору. Для максимумов передают обратный компаратор. Конструктора с boolean нет. Collections.reverse работает со списками и не меняет порядок кучи.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.