0Pricing
Android Academy · Leçon

map, filter, forEach

Transformez des collections avec des lambdas.

map, filter, forEach est une leçon Android Academy gratuite sur CoddyKit. Ceci est la leçon 3 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 Android Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Android Academy comprend 4 leçons au total.

Opérations sur les collections

Les collections Kotlin proposent de puissantes opérations intégrées. Les trois opérations que vous utiliserez constamment sont map, filter et forEach.

Elles vous permettent de transformer, sélectionner et parcourir des données sur une seule ligne claire, au lieu d’écrire des boucles manuellement.

map transforme chaque élément

map crée une nouvelle liste en appliquant une transformation à chaque élément.

Dans la lambda, it désigne l’élément actuel. La liste d’origine reste inchangée.

fun main() {
    val nums = listOf(1, 2, 3)
    val doubled = nums.map { it * 2 }
    println(doubled)
}

map peut changer les types

Le résultat de map ne doit pas nécessairement être du même type que l’entrée.

Ici, nous transformons une liste de noms en une liste de leurs longueurs.

fun main() {
    val names = listOf("Ada", "Linus")
    val lengths = names.map { it.length }
    println(lengths)
}

filter conserve les correspondances

filter renvoie une nouvelle liste contenant uniquement les éléments pour lesquels la lambda renvoie true.

Ici, nous conservons uniquement les nombres pairs.

fun main() {
    val nums = listOf(1, 2, 3, 4, 5, 6)
    val evens = nums.filter { it % 2 == 0 }
    println(evens)
}

filter sur des chaînes

La condition peut être n’importe quelle expression qui renvoie un booléen. Ici, nous conservons uniquement les mots longs.

Les éléments qui échouent au test sont simplement exclus du résultat.

fun main() {
    val words = listOf("hi", "hello", "hey", "howdy")
    val long = words.filter { it.length > 3 }
    println(long)
}

forEach exécute une action

forEach exécute un bloc de code pour chaque élément, mais ne crée pas de nouvelle liste.

Utilisez-le pour des effets de bord comme l’affichage ou la journalisation.

fun main() {
    val fruits = listOf("apple", "banana")
    fruits.forEach { println("Fruit: $it") }
}

map ou forEach

map renvoie une liste transformée : utilisez-le donc lorsque vous avez besoin d’un résultat.

forEach ne renvoie rien d’utile : utilisez-le uniquement pour exécuter des actions. Choisir la bonne opération rend le code plus clair.

Enchaînement des opérations

Ces opérations renvoient des collections, vous pouvez donc les enchaîner.

Lisez de gauche à droite : d’abord filter, puis map sur les éléments conservés.

fun main() {
    val nums = listOf(1, 2, 3, 4, 5, 6)
    val result = nums.filter { it % 2 == 0 }.map { it * 10 }
    println(result)
}

Nommer le paramètre

Au lieu d’utiliser it, vous pouvez nommer le paramètre de la lambda pour plus de clarté, notamment lors d’un enchaînement.

Utilisez une flèche : { name -> ... }.

fun main() {
    val prices = listOf(10, 25, 5)
    val withTax = prices.map { price -> price + price / 10 }
    println(withTax)
}

forEachIndexed

Lorsque vous avez également besoin de la position, utilisez forEachIndexed. Cette opération transmet l’indice et l’élément.

Vous évitez ainsi de suivre vous-même un compteur.

fun main() {
    val tasks = listOf("eat", "code", "rest")
    tasks.forEachIndexed { i, task ->
        println("$i: $task")
    }
}

Combiner les opérations pour des tâches réelles

Ensemble, ces opérations permettent d’exprimer simplement des pipelines de données. Ici, nous calculons la longueur totale des noms longs.

La lecture est presque aussi naturelle qu’en langage courant.

fun main() {
    val names = listOf("Ada", "Grace", "Bo")
    val total = names.filter { it.length > 2 }.map { it.length }.sum()
    println(total)
}

Vérification rapide

Vérifiez votre compréhension des opérations sur les collections.

Récapitulatif

map transforme chaque élément en une nouvelle liste, filter conserve les éléments qui correspondent à une condition et forEach exécute une action pour chaque élément.

Elles renvoient des collections : enchaînez-les pour construire des pipelines de données lisibles.

Questions Fréquemment Posées

La leçon « map, filter, forEach » est-elle gratuite ?

Oui — le texte complet de « map, filter, forEach » 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 Android Academy, passe à CoddyKit PRO. Le cours Android Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « map, filter, forEach » ?

Transformez des collections avec des lambdas. Tu pratiques Android 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 Android Academy ?

Aucune expérience préalable n'est requise. Android 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 3 sur 4.

Combien de temps prend la leçon « map, filter, forEach » ?

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 Android Academy ?

Oui. Chaque leçon Android 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. Listes et listes mutables
  2. Tables associatives et ensembles
  3. map, filter, forEach
  4. Lambdas et fonctions d’ordre supérieur
← Retour à Android Academy