В Java у меня есть Set
, и я хочу превратить его в отсортированный List
. Есть ли в java.util.Collections
пакете метод , который сделает это для меня?
java
sorting
collections
Джереми Стейн
источник
источник
Util
класс содержитasSortedList()
метод, который я написал. Другими словами, выUtil
сами пишете класс и помещаете в него этот код.Сортированный набор:
или:
источник
Set
?new TreeSet
принимаетCollection
s, а не толькоSet
s. Не каждый, кто читает этот ответ, будет использоватьSet
, хотя это то, что задает оригинальный вопрос.... должен сделать свое дело однако. Добавьте аромат с Generics, где это применимо.
источник
Comparable
и переопределитьcompareTo
метод.Вот как вы можете сделать это с помощью потоков Java 8:
или с пользовательским компаратором:
источник
Всегда безопасно использовать интерфейс Comparator или Comparable для обеспечения реализации сортировки (если объект не является классами String или Wrapper для примитивных типов данных). В качестве примера реализации компаратора для сортировки сотрудников по имени
Компаратор полезен, когда вам нужно иметь другой алгоритм сортировки для одного и того же объекта (например, имя emp, имя зарплаты и т. Д.). Однорежимная сортировка может быть реализована с помощью сопоставимого интерфейса с требуемым объектом.
источник
Там нет единого способа сделать это. Использовать это:
источник
Вы можете преобразовать набор в
ArrayList
, где вы можете отсортировать,ArrayList
используяCollections.sort(List)
.Вот код:
источник
где originalset = несортированный набор и list = список, который нужно вернуть
источник
@ Джереми Стейн Я хотел реализовать тот же код. Также я хотел отсортировать набор в список, поэтому вместо использования Set я конвертировал набор значений в список и сортировал этот список по одной переменной. Этот код помог мне,
источник
Я использую этот код, который я считаю более практичным, чем принятый ответ выше:
источник