Lekce 10 - Metody pro transformaci kolekcí v Kotlin
V předešlém cvičení, Řešené úlohy k 7.-9. lekci práce s kolekcemi v Kotlin, jsme si procvičili nabyté zkušenosti z předchozích lekcí.
Dnes si v tutoriálu ke kolekcím v Kotlin ukážeme "mapování", "zipování" a další užitečné metody pro práci s kolekcemi. Jedná se o tzv. transformační metody, které slouží k vytvoření nových kolekcí ze stávajících na základě zadaných modifikačních podmínek.
Transformace kolekcí
Hovoříme-li o transformaci kolekcí, mohli bychom nabýt dojmu, že se
změní stávající kolekce (a metody by tudíž nebylo možné použít pro
read-only
kolekce). Není tomu tak. Níže uvedené metody vezmou
stávající kolekci, její prvky změní na základě zadaných kritérií a
vrátí novou kolekci, s kterou můžeme dál pracovat nebo si ji pouze nechat
vypsat.
Metody pro mapování
Základní mapovací funkcí je map()
, která aplikuje daná
pravidla na prvky v kolekci a vrátí seznam výsledků. Pořadí výsledných
prvků je stejné, jako původní pořadí. Chceme-li použít transformaci,
která navíc pracuje s indexy, použijeme mapIndexed()
.
V prvním příkladu chceme nejdříve získat trojnásobky původních prvků, poté si necháme vypsat jejich indexy a na závěr vynásobíme původní hodnoty hodnotou indexu:
{KOTLIN_MAIN_BLOCK}
val cisla = listOf(1, 2, 3)
println(cisla.map { it * 3 })
println(cisla.mapIndexed { index, value -> index })
println(cisla.mapIndexed { index, value -> index * value })
{/KOTLIN_MAIN_BLOCK}
...konec náhledu článku...
Pokračuj dál
Došel jsi až sem a to je super! Věříme, že ti první lekce ukázaly něco nového a užitečného.
Chceš v kurzu pokračovat? Přejdi do prémiové sekce.
Koupit tento kurz
Obsah článku spadá pod licenci Premium, koupí článku souhlasíš se smluvními podmínkami.
- Neomezený a trvalý přístup k jednotlivým lekcím.
- Kvalitní znalosti v oblasti IT.
- Dovednosti, které ti pomohou získat vysněnou a dobře placenou práci.
Popis článku
Požadovaný článek má následující obsah:
V tomto Kotlin tutoriálu se seznámíme s transformačními operacemi, popíšeme si mj. metody map(), zip(), associate() a flatten().
Kredity získáš, když podpoříš naši síť. To můžeš udělat buď zasláním symbolické částky na podporu provozu nebo přidáním obsahu na síť.