Escriu per cercar…

Col·lecció

Una col·lecció és un conjunt de dades.

Introducció

A Llista (i Map) vas veure una de les col·leccions més utilitzades.

Les col·leccions tenen funcions genèriques semblants a les que vam veure a l’activitat Function type.

Iterar

forEach

kotlin
data class Person(val name: String, val age: Int)

val list = listOf(Person("Joan", 25), Person("Laura", 30), Person("Mireia", 35)))

list.forEach { println(it.name) }

Transformar

La biblioteca estàndard de Kotlin proporciona un conjunt de funcions d’extensió per a transformacions de col·leccions.

Aquestes funcions construeixen col·leccions noves a partir d’altres existents segons les regles de transformació proporcionades.

map

La transformació de mapatge crea una col·lecció a partir dels resultats d’aplicar una funció als elements d’una altra col·lecció.

La funció bàsica de mapatge és map(): aplica la funció lambda donada a cada element i retorna la llista dels resultats.

L’ordre dels resultats és el mateix que l’ordre original dels elements.

kotlin
assert(
    listOf(1, 2, 3).mapNotNull { if (it == 2) null else it * 3 }
        == listOf(3, 6)
)

Si la transformació produeix null en determinats elements, pots eliminar els null de la col·lecció resultant cridant la funció mapNotNull() en comptes de map():

kotlin
assert(
    listOf(1, 2, 3).mapNotNull { if (it == 2) null else it * 3 }
        == listOf(3, 6)
)

Map

Quan transformes un Map, tens dues opcions: transformar les claus mantenint els valors sense canvis i a l’inrevés.

Per exemple, si tens un registre d’estudiants amb la seva nota:

kotlin
val students = mapOf("David" to 10, "Mireia" to 8, "Laura" to 3, "Laia" to 5)

Estàs llegint una vista prèvia.

Inicia sessió per llegir l'article complet. Qualsevol compte obre 4 articles gratuïts al mes; l'alumnat i el professorat llegeixen les pàgines del seu curs sense límit.

Inicia sessió