у меня есть:
var schedulesByMonth = HashMap<String, MutableList<Schedule>>()
Расписание имеет свойство startDate: Date
.
Я начинаю с огромного списка Schedule
объектов и сортирую их по хэш-карте по месяцам. Поэтому, если startDate для объекта Schedule - июнь 2018 года, он попадает в список для ключа June 2018
.
Это все хорошо, но мне нужны ключи для выбора, отсортированные по месяцам:
schedulesByMonth.keys
если этот массив ["July 2018", "August 2018", "June 2018"]
мне нужно, чтобы он был ["June 2018", "July 2018", "August 2018"]
.
Я знаю, что могу сделать отсортированную карту:
val sorted = schedulesByMonth.toSortedMap(compareBy<String> {
}
Но это только сортировка ключей (String
). Как я могу сделать it
значением (MutableList<Schedule>
), чтобы можно было сортировать по startDate
одного из расписаний?