🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
# Kotlin 程序:按值对映射排序 > 原文: [https://www.programiz.com/kotlin-programming/examples/sort-map-values](https://www.programiz.com/kotlin-programming/examples/sort-map-values) #### 在此程序中,您将学习按 Kotlin 中的值对给定的映射进行排序。 ## 示例:按值对映射排序 ```kt fun main(args: Array<String>) { var capitals = hashMapOf<String, String>() capitals.put("Nepal", "Kathmandu") capitals.put("India", "New Delhi") capitals.put("United States", "Washington") capitals.put("England", "London") capitals.put("Australia", "Canberra") val result = capitals.toList().sortedBy { (_, value) -> value}.toMap() for (entry in result) { print("Key: " + entry.key) println(" Value: " + entry.value) } } ``` 运行该程序时,输出为: ```kt Key: Australia Value: Canberra Key: Nepal Value: Kathmandu Key: England Value: London Key: India Value: New Delhi Key: United States Value: Washington ``` 在上述程序中,我们将`HashMap`和国家/地区及其各自的首都存储在变量`capitals`中。 为了对映射进行排序,我们使用在一行中执行的一系列操作: ```kt val result = capitals.toList().sortedBy { (_, value) -> value}.toMap() ``` * 首先,使用`toList()`将`capitals`转换为列表。 * 然后,`sortedBy()`用于按值`{ (_, value) -> value}`对列表进行排序。 我们将`_`用于键,因为我们不使用它进行排序。 * 最后,我们使用`toMap()`将其转换回映射,并将其存储在`result`中。 以下是等效的 Java 代码: [Java 程序:通过值对映射进行排序](/java-programming/examples/sort-map-values "Java program to sort a map by values")。