List 如何按Kotlin中的值对HashMap进行排序?
这是我的例子,我如何在Kotlin做到这一点List 如何按Kotlin中的值对HashMap进行排序?,list,sorting,kotlin,hashmap,treemap,List,Sorting,Kotlin,Hashmap,Treemap,这是我的例子,我如何在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进行排序,因为它不能保证其条目将以任何特定顺序进行迭代。但是,您
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的条目按条目值排序,然后函数将条目列表转换为保留该列表中条目顺序的映射
此函数的结果类型为Map。如果需要进一步修改结果,可以使用函数并指定空的目标LinkedHashMap作为参数:
....associateTo(LinkedHashMap()) { ... }
不能对HashMap进行排序,因为它不能保证其条目将以任何特定顺序进行迭代。但是,您可以将项目排列到LinkedHashMap中,该图保持插入顺序:
val resultMap = hashMapForTry.entries.sortedBy { it.value }.associate { it.toPair() }
println(resultMap)
在这里,hashMapForTry的条目按条目值排序,然后函数将条目列表转换为保留该列表中条目顺序的映射
此函数的结果类型为Map。如果需要进一步修改结果,可以使用函数并指定空的目标LinkedHashMap作为参数:
....associateTo(LinkedHashMap()) { ... }
或者一个树形图,它使用一个比较器来确定order@AjahnCharlesTreeMap使用比较器来比较键,它不能用于根据相应的值对键进行排序。或者使用比较器确定键的TreeMaporder@AjahnCharlesTreeMap使用比较器来比较键,它不能用于根据相应的值对其进行排序。