Ваш код работает. Проблема в том, что sortedWith
возвращает список новый с результатами сортировки! Проверьте документацию:
Возвращает список всех элементов, отсортированных в соответствии с указанным [компаратором].
Сорт стабильный . Это означает, что одинаковые элементы сохраняют свой порядок относительно друг друга после сортировки.
Итак, если вы хотите отсортировать коллекцию, вам нужно использовать MutableList
и sortWith
:
val list = mutableListOf(User("2019-01-01 17:42:34"), User("2019-01-02 17:42:34"), User("2019-01-03 17:42:34"))
list.sortWith(compareBy {
LocalDateTime.parse(
it.created,
DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))
})