这是我的示例,如何在Kotlin中做到这一点?
var hashMapForTry = HashMap<String,Int>()
hashMapForTry.put("Hi",5)
hashMapForTry.put("What",7)
hashMapForTry.put("How",2)
hashMapForTry.put("Go",1)
hashMapForTry.put("Ford",9)
最佳答案
您无法对HashMap
进行排序,因为它不能保证将其条目以任何特定顺序进行迭代。但是,您可以将项目排列为LinkedHashMap
,以保持插入顺序:
val resultMap = hashMapForTry.entries.sortedBy { it.value }.associate { it.toPair() }
println(resultMap)
此处
hashMapForTry
的条目按条目值排序,然后 associate
函数将条目列表转换为映射,该映射保留该列表中条目的顺序。该函数的结果类型为
Map<String, Int>
。如果需要进一步改变结果,可以使用 associateTo
函数并指定一个空的目标LinkedHashMap
作为参数:....associateTo(LinkedHashMap()) { ... }
关于list - 如何在Kotlin中按其值对HashMap <String,Int>顺序进行排序?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59097419/