Создайте новый список и отсортируйте его 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 их нет.