May*_*tBe 2 android sortedmap kotlin
我有:
var schedulesByMonth = HashMap<String, MutableList<Schedule>>()
Run Code Online (Sandbox Code Playgroud)
Schedule 有一个startDate: Date属性。
我从一个巨大的Schedule对象列表开始,并按月将它们分类到哈希图中。因此,如果 Schedule 对象上的 startDate 是 2018 年 6 月,它将进入 key 的列表June 2018。
这一切都很好,但我需要按月正确排序的选择器的键:
schedulesByMonth.keys
Run Code Online (Sandbox Code Playgroud)
如果那个数组是["July 2018", "August 2018", "June 2018"]我需要的["June 2018", "July 2018", "August 2018"]。
我知道我可以制作一个 sortedMap:
val sorted = schedulesByMonth.toSortedMap(compareBy<String> {
}
Run Code Online (Sandbox Code Playgroud)
但这仅对键 ( String) 进行排序。我怎样才能it成为值 ( MutableList<Schedule>) 以便我可以按startDate其中一个时间表排序?
您可以使用 对条目进行排序sortedWith,它将比较器作为其参数。可以compareBy轻松创建比较器:
schedulesByMonth.entries.sortedWith(compareBy({ it.value[0].startDate })
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1777 次 |
| 最近记录: |