Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
List 如何按Kotlin中的值对HashMap进行排序?_List_Sorting_Kotlin_Hashmap_Treemap - Fatal编程技术网

List 如何按Kotlin中的值对HashMap进行排序?

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进行排序,因为它不能保证其条目将以任何特定顺序进行迭代。但是,您

这是我的例子,我如何在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的条目按条目值排序,然后函数将条目列表转换为保留该列表中条目顺序的映射

此函数的结果类型为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使用比较器来比较键,它不能用于根据相应的值对其进行排序。