0Pricing
Kotlin Academy · Leçon

Parcourir et transformer des collections avec la bibliothèque standard

Utilisez map, filter, any, all et count sur des exemples concrets de collections.

Parcourir et transformer des collections avec la bibliothèque standard est une leçon Kotlin Academy gratuite sur CoddyKit. Ceci est la leçon 4 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Kotlin Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Kotlin Academy comprend 4 leçons au total.

Les collections comme chaînes de traitement

La bibliothèque standard de Kotlin transforme les collections au moyen d’opérations enchaînées. Chaque fonction renvoie une nouvelle collection : l’originale reste inchangée.

Transformation un-à-un

La fonction de transformation applique une fonction à chaque élément et renvoie une liste de résultats.
val prices = listOf(10, 20, 30)
val withTax = prices.map { it * 1.1 }
println(withTax)  // [11.0, 22.0, 33.0]

Transformation d’un élément en plusieurs

La fonction transforme chaque élément en liste, puis aplatit toutes les listes en une seule.
val sentences = listOf("hello world", "foo bar")
val words = sentences.flatMap { it.split(" ") }
println(words)  // [hello, world, foo, bar]

filter et filterNot

filter conserve les éléments correspondant au prédicat ; filterNot conserve ceux qui ne lui correspondent pas.
val nums = (1..10).toList()
val evens = nums.filter { it % 2 == 0 }
val odds = nums.filterNot { it % 2 == 0 }
println(evens)  // [2, 4, 6, 8, 10]

groupBy : regrouper par clé

groupBy renvoie une Map> dans laquelle les éléments sont regroupés selon la fonction de clé.
val words = listOf("one", "two", "three", "four", "five")
val byLength = words.groupBy { it.length }
println(byLength)
// {3=[one, two], 5=[three], 4=[four, five]}

associate et associateBy

associate construit une Map à l’aide d’une lambda qui produit une paire clé-valeur. associateBy utilise un extracteur de clé.
val items = listOf("apple", "banana", "cherry")
val byFirst = items.associateBy { it.first() }
println(byFirst)  // {a=apple, b=banana, c=cherry}

partition : séparer en deux

partition divise une collection en deux listes : les éléments correspondants et les autres.
val (evens, odds) = (1..8).partition { it % 2 == 0 }
println(evens)  // [2, 4, 6, 8]
println(odds)   // [1, 3, 5, 7]

distinct et distinctBy

distinct supprime les éléments en double. distinctBy supprime les doublons en fonction d’une clé.
val nums = listOf(1, 2, 2, 3, 1, 4)
println(nums.distinct())  // [1, 2, 3, 4]
val words = listOf("Hi", "hello", "HI")
println(words.distinctBy { it.lowercase() })

take, drop et chunked

take prend les N premiers éléments ; drop ignore les N premiers ; chunked divise la collection en sous-listes de taille N.
val list = (1..10).toList()
println(list.take(3))    // [1, 2, 3]
println(list.drop(7))    // [8, 9, 10]
println(list.chunked(3)) // [[1,2,3],[4,5,6],[7,8,9],[10]]

zip : associer deux collections

zip combine deux listes en une liste de paires. La fonction s’arrête à la plus courte des deux listes.
val names = listOf("Alice", "Bob", "Charlie")
val scores = listOf(90, 85, 92)
val combined = names.zip(scores)
println(combined)  // [(Alice, 90), (Bob, 85), (Charlie, 92)]

sumOf, minOf, maxOf, averageOf

Raccourcis d’agrégation utilisant des fonctions de transformation.
val items = listOf("apple", "banana", "cherry")
println(items.sumOf { it.length })    // 18
println(items.maxOf { it.length })    // 6
println(items.minOf { it.length })    // 5

Vérification rapide

Quelle fonction regroupe une collection dans une Map> à l’aide d’un sélecteur de clé ?

Récapitulatif

map, flatMap, filter, groupBy, associate, partition, distinct et zip constituent la boîte à outils essentielle pour transformer les collections. Enchaînez-les pour créer des chaînes de traitement expressives. Ensuite : les classes et les constructeurs !

Questions Fréquemment Posées

La leçon « Parcourir et transformer des collections avec la bibliothèque standard » est-elle gratuite ?

Oui — le texte complet de « Parcourir et transformer des collections avec la bibliothèque standard » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Kotlin Academy, passe à CoddyKit PRO. Le cours Kotlin Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Parcourir et transformer des collections avec la bibliothèque standard » ?

Utilisez map, filter, any, all et count sur des exemples concrets de collections. Tu pratiques Kotlin Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Kotlin Academy ?

Aucune expérience préalable n'est requise. Kotlin Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 4 sur 4.

Combien de temps prend la leçon « Parcourir et transformer des collections avec la bibliothèque standard » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Kotlin Academy ?

Oui. Chaque leçon Kotlin Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. listOf, setOf, mapOf : collections en lecture seule
  2. mutableListOf, mutableMapOf : constructeurs modifiables
  3. Accéder aux éléments : get, first, last, getOrNull
  4. Parcourir et transformer des collections avec la bibliothèque standard
← Retour à Kotlin Academy