Я понимаю, как создать и использовать Comparator
для списков объектов, основанных на нескольких атрибутах этих объектов.Тем не менее, я не уверен, как сделать это эффективно, предоставив пользователю выбор параметров для сортировки.Это GWT
пользовательский интерфейс.
Например, у меня есть два раскрывающихся меню с 11 параметрами в каждом, соответствующими атрибутам объектов.Каждое меню также в виде кнопки для указания возрастающего / убывающего порядка.
Таким образом, пользователь может выбрать пример для сортировки по fileName, desc
и timestamp, asc
.Как я могу отсортировать эти объекты без смехотворно длинного оператора if
для нескольких сотен возможных комбинаций?
Я мог бы сделать это, если бы сортировка была исправлена:
files.sort(Comparator.comparing(FileInfo::getFileName).thenComparing(FileInfo::getTimestamp).reversed());
(я мог бы получить там обратно asc / desc)
Но мне не нужно было печатать это длякаждый возможный вариант.Так как мне это сделать?