не по алфавиту, а по каким-то внешним критериям(например, по полю валюта, но чтобы рубли были первыми, баксы вторыми, а евро третими).
Тут если создавать Comparator, то будет много условий. Особенно, если оказывается, что нужно еще сортировать вторично по другому полю, и тоже не по алфавиту.
Есть мысль, сделать некое соответствие значению поля и числовому ID и сортировать по нему.
Объект я не могу редактировать.
Какую структуру данных лучше использовать? наверняка это часто встречающийся кейс?
Пришло в голову - использовать Enum-ы вместо текста
А что за структура данных?
В компараторе береш соответсвенную например int для поля и сравниваеш этот инт, напр. Доллар 1, рубль 2
Каковы шансы что правило сортировки будет меняться каждый день н-р удалённо, а приложение перебилдиваться раз в год? Если всё так - то возможно стоит завести какой-нибудь "priority" и по нему сортировать. Во всех ост случаях -проще будет иметь один метод, функцию, компаратор, в котором ручками хардкодом вбито, кто-за-кем идёт
вобщем, сделал так: https://pastebin.com/8Ytjn4Zt вроде норм
Обсуждают сегодня