Szósta i ostatnia część kolekcji dotyczyć będzie funkcji "mutableMapOf" w języku Kotlin. Zapewne już się domyślacie do czego to, jak się stosuje i czym się może różnić od poprzednika.

MAPA MODYFIKOWALNA DZIĘKI "MUTABLEMAPOF" W JĘZYKU KOTLIN

Po raz trzeci o kolekcji modyfikowalnej i tym razem skierujemy się w stronę map. Mapa modyfikowalna także posiada wszystko to, co niemodyfikowalna, a może nawet więcej. Pozwala na modyfikację zawartości.

TWORZENIE INSTANCJI MAPY MODYFIKOWALNEJ

I znów po raz kolejny, przytoczymy sobie funkcję która za to odpowiada. Po zdefiniowaniu sobie obojętnie jakiej zmiennej, po znaku przypisania wywołujemy "mutableMapOf":

val literals = mutableMapOf('M' to 1000, 'D' to 500, 'C' to 100, 'L' to 50)

Jeśli nie rozumiecie czemu w taki sposób wprowadza się pary "klucz-wartość", sięgnijcie do artykułu o mapach niemodyfikowalnych. Jaki typ zmiennej da ten "mutableMapOf" w języku Kotlin? "MutableMap<Char, Int>"!

val literals : MutableMap<Char, Int> = mutableMapOf('M' to 1000, 'D' to 500, 'C' to 100, 'L' to 50)

Nie martwcie się, że części elementów brakuje. Ten zabieg jest celowy, żeby zaprezentować Wam poniższe przykłady.

ZESTAW PRZYKŁADOWYCH METOD MAPY MODYFIKOWALNEJ

Na dokładkę, macie przykłady metod występujących tylko w obiekcie mapy modyfikowalnej pochodzącej z funkcji "mutableMapOf" w języku Kotlin.

PUT

Umieszczanie nowej pary "klucz-wartość" wewnątrz mapy.

literals.put('X', 10)

Notacja indeksowa, którą wspiera "mutableMapOf" w języku Kotlin, załatwia to jeszcze prościej:

literals['X'] = 10

Klasyczna operacja przypisania też zadziała i jest bardziej rekomendowana.

PUTALL

Metoda "putAll" to możliwość dodania wielu par naraz, przy pomocy jednego wywołania. Jest kilka przeciążeń tej samej funkcji, ale taką "tradycyjną" jest podawanie nowej mapy za parametr. Nic nie stoi na przeszkodzie, żeby to była mapa niemodyfikowalna.

literals.putAll(mapOf('V' to 5, 'I' to 1))
REMOVE

Operacja czyniąca w drugą stronę, usuwanie, to nic innego jak "remove". Kasowanie pojedynczej pary. Tu macie dwa sposoby wywoływania. Albo podajecie za parametr sam klucz i wtedy on znika razem "z podpiętą" wartością (albo nic się nie dzieje, jeśli takowego klucza nie znaleziono), albo wprowadzacie dwa parametry, klucz i wartość, a para zostaje wyeliminowana z mapy wtedy i tylko wtedy, kiedy wartość jest identyczna jak ta, którą podaliście w parametrze.

literals.remove('D')
literals.remove('C', 100)
Funkcja "mutableMapOf" w języku Kotlin

"mutableMapOf" tworzy obiekt mapy modyfikowalnej, która otwiera drogę do edytowania par "klucz-wartość" już po inicjalizacji.


Na tym kończymy omawianie "mutableMapOf" w języku Kotlin oraz całego wątku kolekcji w Kotlinie. Wiem, że ta "szóstka" mogła być dla Was nużąca z powodu nadzwyczajnej monotonności jednak trzeba było zrealizować materiał. Najwięcej informacji zawsze możecie znaleźć w oficjalnej dokumentacji języka.

PODOBNE ARTYKUŁY