Over si svoje vedomosti z kapitol o mapách a setoch. Klikni na Áno alebo Nie - tlačidlo sa hneď zafarbí (zelená = správne, červená = nesprávne) a zobrazí sa komentár s vysvetlením. Otázky prechádzaš po jednej pomocou tlačidiel nižšie.
Otázka 1 / 14
Mapa (Map) ukladá dvojice kľúč - hodnota, pričom každý kľúč je v mape unikátny.
Áno. Ak by sme priradili hodnotu k existujúcemu kľúču, pôvodná hodnota by sa jednoducho prepísala.
Prístup k neexistujúcemu kľúču v mape pomocou map["neco"] spôsobí pád programu s výnimkou.
Nie. Vráti null, žiadna výnimka sa nevyhodí - preto je typ hodnoty vlastne nullovateľný (Int? a pod.).
Funkcia getOrDefault(kľúč, predvolenáHodnota) vráti predvolenú hodnotu, ak kľúč v mape neexistuje.
Áno. Napríklad map1.getOrDefault("Marek", 0) vráti 0, ak kľúč "Marek" v mape neexistuje.
Zápis "Janko" to 25 je skrátený spôsob vytvorenia dvojice (Pair).
Áno. Infixová funkcia to vytvorí objekt typu Pair<String, Int>, ktorý sa použije napr. vo funkcii mapOf.
mapOf(...) vytvorí meniteľnú mapu, do ktorej môžeme priamo pridávať nové páry.
Nie. mapOf vytvorí needitovateľnú (immutable) mapu. Na pridávanie a mazanie potrebujeme mutableMapOf.
Do MutableMap vieme pridať alebo zmeniť hodnotu zápisom map["kľúč"] = hodnota.
Áno. Ak kľúč ešte neexistuje, pridá sa nový pár. Ak už existuje, jeho hodnota sa prepíše.
Iteráciou for ((name, age) in map) vieme deštruovať dvojicu kľúč-hodnota priamo v hlavičke cyklu.
Áno. Kotlin pri iterácii nad mapou umožňuje priamu deštrukciu na premenné pre kľúč a hodnotu.
Vlastnosť map.keys vráti množinu (Set) všetkých kľúčov v mape.
Áno. Podobne map.values vráti kolekciu všetkých hodnôt v mape.
Set (Set) obsahuje každú hodnotu nanajvýš raz - duplicity sa automaticky odstránia.
Áno. Napríklad setOf(1, 2, 3, 3, 2) vytvorí set {1, 2, 3} - duplicitné hodnoty zmiznú.
Set, na rozdiel od Listu, má striktne definované poradie prvkov, ktoré sa dá indexovať pomocou [].
Nie. Set nemá definované poradie prvkov a nepodporuje indexovanie ako List.
Operátor in, napr. 3 in set3, overí, či sa daná hodnota v sete nachádza.
Áno. Vráti true, ak sa hodnota v sete nachádza, inak false.
Funkcia intersect vráti prienik dvoch setov - prvky, ktoré sa nachádzajú v oboch.
Áno. Napríklad setA.intersect(setB) pre {1,2,3,4} a {3,4,5,6} vráti {3, 4}.
Výsledok setA.subtract(setB) je rovnaký ako setB.subtract(setA).
Nie. Rozdiel množín nie je komutatívny - setA.subtract(setB) vráti prvky iba zo setA, ktoré nie sú v setB, a naopak.
Do MutableSet môžeme pridať prvok aj pomocou operátora +=, napríklad set3 += 5.
Áno. Rovnako ako pri mapách, aj sety podporujú skrátený zápis pridávania cez operátor +=.
Tvoje skóre je 0 / 14