Kotlinov program za sortiranje karte prema vrijednostima

U ovom programu naučit ćete sortirati datu kartu prema vrijednostima u Kotlinu.

Primjer: Poredaj kartu prema vrijednostima

 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) ) )

Kada pokrenete program, izlaz će biti:

 Ključ: Australija Vrijednost: Canberra Ključ: Nepal Vrijednost: Kathmandu Ključ: Engleska Vrijednost: London Ključ: Indija Vrijednost: New Delhi Ključ: Sjedinjene Države Vrijednost: Washington

U gore navedenom programu imamo HashMapzemlje sa zemljama i njihovim glavnim gradovima pohranjene u različitim glavnim gradovima.

Za sortiranje karte koristimo niz operacija izvršenih u jednom retku:

 val rezultat = capitals.toList (). sortedBy ((_, value) -> value) .toMap ()
  • Prvo se velikim slovima pretvara u popis pomoću toList().
  • Zatim sortedBy()se koristi za sortiranje popisa po vrijednosti ( (_, value) -> value). Koristimo _za ključ jer ga ne koristimo za sortiranje.
  • Konačno, pretvaramo ga natrag u mapu pomoću toMap()i pohranjujemo u rezultat.

Evo ekvivalentnog Java koda: Java program za sortiranje karte prema vrijednostima.

Zanimljivi članci...