Mapa (Map) je dátová štruktúra, ktorá ukladá dvojice kľúč - hodnota. Každý kľúč je unikátny a má priradenú jednu hodnotu.
fun main() {
val map1: Map<String, Int> = mapOf("Janko" to 25, "Fero" to 30)
val map2: Map<String, Int> = emptyMap()
val map3: MutableMap<String, Int> = mutableMapOf("Janko" to 25)
val map4: MutableMap<String, Int> = mutableMapOf()
println(map1["Janko"]) // 25
println(map1["Marek"]) // null - neexistujuci kluc
println(map1.getOrDefault("Marek", 0)) // 0
map3["Fero"] = 30 // pridanie noveho paru
map3["Janko"] = 26 // zmena existujucej hodnoty
map3 += "Lukas" to 22 // pridanie cez operator +=
map3.remove("Fero") // odstranenie podla kluca
println(map3) // {Janko=26, Lukas=22}
}
Zápis
"kľúč" to hodnotaje skrátený zápis pre vytvorenie dvojice (Pair).
fun main() {
val map = mapOf("Janko" to 25, "Fero" to 30, "Marek" to 20)
for ((name, age) in map) {
println("$name ma $age rokov")
}
map.keys.forEach { key -> println(key) } // vsetky kluce
map.values.forEach { value -> println(value) } // vsetky hodnoty
}
fun main() {
val známky = mapOf("Matika" to 1, "Fyzika" to 2, "Angličtina" to 1)
val priemer = známky.values.average()
println("Priemer: $priemer") // Priemer: 1.333...
}
Vytvor mapu s piatimi menami a ich výškami v cm. Vypočítaj priemernú výšku.
Vytvor meniteľnú mapu produktov a cien, zmeň cenu jedného produktu a jeden produkt odstráň.
Prejdi mapu známok pomocou deštrukcie dvojice kľúč-hodnota a vypíš každý predmet so známkou.