9.3 Test - Mapy a Sety (9.1 - 9.2)

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