要按键排序,我可以使用
map.toSortedMap()
Run Code Online (Sandbox Code Playgroud)
但是,在Kotlin中按值对LinkedHashMap进行排序的最佳方法是什么?
小智 31
map.toList()
.sortedBy { (key, value) -> value }
.toMap()
Run Code Online (Sandbox Code Playgroud)
您可以使用sortedBy解构语法并将第一个参数留空:
map.toList().sortedBy { (_, value) -> value }.toMap()
Run Code Online (Sandbox Code Playgroud)
或者你可以在不破坏语法的情况下做到这一点(如aksh1618在评论中提到的):
map.toList().sortedBy { it.second }.toMap()
Run Code Online (Sandbox Code Playgroud)
如果您想立即迭代结果,您甚至不需要toMap():
map.toList()
.sortedBy { it.second }
.forEach { (key, value) -> /* ... */ }
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5954 次 |
| 最近记录: |