Collections Kotlin
Travaillez avec List, Set et Map. Utilisez des opérateurs fonctionnels comme filter, map, sortedBy, forEach, find, any et all, puis chaînez les opérations pour transformer les données de manière concise.
Collections Kotlin est une leçon Android Academy gratuite sur CoddyKit. Ceci est la leçon 1 sur 6. 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 6 leçons au total.
Présentation des collections
La bibliothèque standard de Kotlin fournit trois principaux types de collections :
- List — séquence ordonnée d’éléments (les doublons sont autorisés)
- Set — éléments uniques, sans ordre particulier
- Map — paires clé-valeur, les clés sont uniques
Chaque type possède une version immutable (en lecture seule) et une version mutable (modifiable).
Listes : listOf et mutableListOf
Créez des listes à l’aide de fonctions fabrique :
fun main() {
// Immutable — cannot add/remove items
val fruits = listOf("Apple", "Banana", "Cherry")
println(fruits[0]) // Apple
println(fruits.size) // 3
// Mutable — can modify
val scores = mutableListOf(10, 20, 30)
scores.add(40)
scores.removeAt(0) // remove index 0
println(scores) // [20, 30, 40]
}Map : paires clé-valeur
Utilisez mapOf et mutableMapOf pour créer des maps. Accédez aux valeurs par leur clé :
fun main() {
val capitals = mapOf(
"Turkey" to "Ankara",
"Germany" to "Berlin",
"Japan" to "Tokyo"
)
println(capitals["Turkey"]) // Ankara
println(capitals["France"]) // null (not found)
println(capitals.getOrDefault("France", "Unknown")) // Unknown
// Iterate
for ((country, city) in capitals) {
println("$country -> $city")
}
}filter — sélectionner des éléments
filter renvoie une nouvelle liste contenant uniquement les éléments qui correspondent à une condition :
fun main() {
val numbers = listOf(1, 2, 3, 4, 5, 6, 7, 8)
val evens = numbers.filter { it % 2 == 0 }
println(evens) // [2, 4, 6, 8]
val names = listOf("Alice", "Bob", "Anna", "Charlie")
val aNames = names.filter { it.startsWith("A") }
println(aNames) // [Alice, Anna]
}map — transformer des éléments
map transforme chaque élément et renvoie une nouvelle liste :
fun main() {
val prices = listOf(10.0, 20.0, 30.0)
// Apply 10% tax
val withTax = prices.map { it * 1.1 }
println(withTax) // [11.0, 22.0, 33.0]
val names = listOf("alice", "bob", "carol")
val upper = names.map { it.uppercase() }
println(upper) // [ALICE, BOB, CAROL]
}sortedBy et sortedByDescending
Triez une liste selon une propriété :
data class Student(val name: String, val grade: Int)
fun main() {
val students = listOf(
Student("Alice", 88),
Student("Bob", 95),
Student("Carol", 72)
)
val byGrade = students.sortedByDescending { it.grade }
for (s in byGrade) println("${s.name}: ${s.grade}")
// Bob: 95
// Alice: 88
// Carol: 72
}forEach et find
Deux autres fonctions de collection utiles :
forEach— parcourt les éléments sans construire de résultatfind— renvoie le premier élément correspondant à une condition, ou null
Chaînage des opérations
Chaînez plusieurs opérations pour transformer les données de manière concise :
data class Product(val name: String, val price: Double, val inStock: Boolean)
fun main() {
val products = listOf(
Product("Laptop", 999.0, true),
Product("Mouse", 29.0, false),
Product("Keyboard", 79.0, true),
Product("Monitor", 349.0, true)
)
// In-stock products under $500, sorted by price
val result = products
.filter { it.inStock && it.price < 500 }
.sortedBy { it.price }
.map { "${it.name}: ${it.price}" }
result.forEach { println(it) }
}any, all, count
Fonctions d’agrégation pour obtenir rapidement des réponses :
any { condition }— true si au moins un élément correspondall { condition }— true si tous les éléments correspondentcount { condition }— nombre d’éléments correspondantssumOf { it.price }— somme d’une propriété numérique
Vérification rapide
Quelle fonction utiliseriez-vous pour obtenir uniquement les éléments d’une liste qui satisfont une condition ?
Récapitulatif : collections Kotlin
Vous pouvez désormais travailler efficacement avec les données en Kotlin :
listOf/mutableListOf,mapOf/mutableMapOffilter— sélectionner les éléments correspondantsmap— transformer les élémentssortedBy/sortedByDescending- Chaîner les opérations pour obtenir des pipelines de données clairs et lisibles
Ensuite : afficher des listes à l’écran avec RecyclerView.
Questions Fréquemment Posées
La leçon « Collections Kotlin » est-elle gratuite ?
Oui — le texte complet de « Collections Kotlin » 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 6 leçons au total.
Qu'est-ce que j'apprendrai dans « Collections Kotlin » ?
Travaillez avec List, Set et Map. Utilisez des opérateurs fonctionnels comme filter, map, sortedBy, forEach, find, any et all, puis chaînez les opérations pour transformer les données de manière conc… 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 1 sur 6.
Combien de temps prend la leçon « Collections Kotlin » ?
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
- Collections Kotlin
- Bases de RecyclerView
- Événements de clic dans RecyclerView
- SharedPreferences
- Préférences DataStore
- Adaptateurs et DiffUtil