У цій програмі ви навчитеся сортувати дану карту за значеннями в 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 = capitals.toList (). sortedBy ((_, value) -> value) .toMap ()
- Спочатку великі літери перетворюються у список за допомогою
toList()
. - Потім
sortedBy()
використовується для сортування списку за значенням( (_, value) -> value)
. Ми використовуємо_
для ключа, оскільки не використовуємо його для сортування. - Нарешті, ми перетворюємо його назад на карту за допомогою
toMap()
і зберігаємо в результаті.
Ось еквівалентний код Java: програма Java для сортування карти за значеннями.