Почему новый метод сортировки добавлен в java.util.List
в java 8, когда у нас есть условие для сортировки списков с помощью Collections.sort
Новый метод сортировки добавлен в список после использования Collections.sort
Ответ 1
- потому что он делает API более интуитивным и OO
- потому что он позволяет реализациям List использовать более быстрый алгоритм сортировки, наиболее подходящий для их внутренней структуры. Например, ArrayList может сортировать свой внутренний массив, не делая сначала копию, как это делает реализация по умолчанию.
Ответ 2
Ответ JB Nizet уже дает вам причины, по которым было бы неплохо добавить этот метод. Второй аспект этого:
Если это, очевидно, хорошая идея добавить этот метод, почему он не был добавлен в какой-либо более ранней версии?
И интерфейс List
и статические Collections
утилиты были добавлены в той же версии 1.2, поэтому было бы возможно включить его с самого начала.
После того, как эта возможность была упущена, больше не было возможности ее добавить. Добавление метода к интерфейсу было изменением, которое нарушило бы обратную совместимость до введения default
-methods в Java 1.8.