У овом програму научићете сортирање дате мапе према вредностима у Котлину.
Пример: Сортирање карте према вредностима
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
земље са земљама и њиховим главним градовима ускладиштене у променљивим главним градовима.
За сортирање мапе користимо низ операција извршених у једном реду:
вал резултат = цапиталс.тоЛист (). сортедБи ((_, валуе) -> валуе) .тоМап ()
- Прво се главни слови претварају у листу помоћу
toList()
. - Затим
sortedBy()
се користи за сортирање листе по вредности( (_, value) -> value)
. Користимо_
за кључ јер га не користимо за сортирање. - На крају, претварамо га назад у мапу користећи
toMap()
и чувамо у резултату.
Ево еквивалентног Јава кода: Јава програм за сортирање мапе према вредностима.