Упорядочивание коллекции целых чисел в обратном порядке

Создайте новый список и отсортируйте его Comparator.reverseOrder(). Результатом будет [5, 1, 0, −33], а исходная коллекция останется неизменной.

Короткий ответ

Что ответить на собеседовании

Создайте новый список и отсортируйте его Comparator.reverseOrder(). Результатом будет [5, 1, 0, −33], а исходная коллекция останется неизменной.

Подробный разбор

Ответ с пояснениями

Условие

Необходимо упорядочить набор целых чисел в обратном порядке и сохранить полученный результат в отдельную переменную.

import java.util.Collection;

public class JetbulbInterview {
    public static void main(String[] args) {
        Collection<Integer> numbers = List.of(1, 5, -33, 0);

        Collection<Integer> descendingDigits = 
    }
}

Ответ

Создайте новый список и отсортируйте его Comparator.reverseOrder(). Результатом будет [5, 1, 0, −33], а исходная коллекция останется неизменной.

Collection<Integer> descendingDigits = numbers.stream()
        .sorted(java.util.Comparator.reverseOrder())
        .collect(java.util.stream.Collectors.toList());

Здесь «обратный порядок» трактуется как убывание числовых значений, а не разворот текущего порядка обхода. Повторяющиеся числа сохраняются. Время O(n log n), память O(n). Null-элементы требуют отдельного компаратора, например nullsLast; в показанном List.of их нет.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее