Loading [Contrib]/a11y/accessibility-menu.js
Back
Close

Formation Kotlin

Takoyaki
2,336 views

Les collections Kotlin

On retrouve les grandes catégories de collections en Kotlin : List, Set et Map.

Dans un soucis de performance, Kotlin distingue les collections mutables et immutables.

Création

La librairie standard possède les fonctions listOf(…), setOf(…) et mapOf(…) pour créer des collections immutables, ou mutableListOf(…), mutableSetOf(…) et mutableMapOf(…) pour créer des collections mutables.

On trouve aussi quelques variantes comme hashSetOf(…), hashMapOf(…), linkedSetOf(…) afin de choisir l'implémentation de sa collection, ou encore listOfNotNull(…) pour assurer que tous les éléments sont non-null.

fun main(vararg args:String){
val superHeros = listOf("Wonder Woman", "Captain America", "Iron Man", "Doctor Strange")
println(superHeros)
val superNames = mutableMapOf(
"Wonder Woman" to "Diana Prince",
"Captain America" to "Steve Rogers",
"Iron Man" to "Tony Stark")
superNames.put("Doctor Strange", "Stephen Strange")
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Programmation fonctionnelle avec les collections

Java avait introduit la programmation fonctionnelle avec les Streams, permettant d'enchainer les transformations d'une collections.

Kotlin va plus loin dans la programmation fonctionnelle et l'enchainement des transformations, directement et sans utiliser les Streams. Si besoin, les Streams restent toutfois disponibles en Kotlin via Collection#stream() (ajouter la dépendance kotlin-stdlib-jdk8).

data class Hero(val name: String, val realName: String)
fun main(vararg args: String) {
val introduce = { hero: Hero ->
println("Hi, I'm ${hero.name}")
}
mapOf("Wonder Woman" to "Diana Prince",
"Captain America" to "Steve Rogers",
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Create your playground on Tech.io
This playground was created on Tech.io, our hands-on, knowledge-sharing platform for developers.
Go to tech.io
codingame x discord
Join the CodinGame community on Discord to chat about puzzle contributions, challenges, streams, blog articles - all that good stuff!
JOIN US ON DISCORD
Online Participants