В этой программе вы научитесь сортировать данную карту по значениям в Kotlin.
Пример: отсортировать карту по значениям
fun main(args: Array) ( var capitals = hashMapOf() 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) ) )
Когда вы запустите программу, вывод будет:
Ключ: Австралия Значение: Канберра Ключ: Непал Значение: Катманду Ключ: Англия Значение: Лондон Ключ: Индия Значение: Нью-Дели Ключ: США Значение: Вашингтон
В приведенной выше программе у нас есть HashMap
страны и их соответствующие столицы, хранящиеся в переменных столицах.
Для сортировки карты мы используем серию операций, выполняемых в одной строке:
val result = capitals.toList (). sortedBy ((_, значение) -> значение) .toMap ()
- Сначала заглавные буквы преобразуются в список с использованием
toList()
. - Затем
sortedBy()
используется для сортировки списка по значению( (_, value) -> value)
. Мы используем_
ключ, потому что не используем его для сортировки. - Наконец, мы преобразуем его обратно в карту с помощью
toMap()
и сохраняем в результате.
Вот эквивалентный Java-код: Java-программа для сортировки карты по значениям.