Sobes.tech
Junior

Quels types de collections Kotlin prend-il en charge?

sobes.tech IA

Réponse de l'IA

Kotlin prend en charge les types de collections standard du Java Collection Framework, ainsi que ses propres extensions et interfaces pratiques.

Interfaces principales des collections en Kotlin :

  • Collection<out E> : Interface de base pour une collection immuable.
  • MutableCollection<E> : Interface pour une collection mutable.
  • List<out E> : Interface pour une collection immuable avec accès ordonné par index.
  • MutableList<E> : Interface pour une collection mutable avec accès ordonné par index.
  • Set<out E> : Interface pour une collection immuable d'éléments uniques sans ordre spécifique.
  • MutableSet<E> : Interface pour une collection mutable d'éléments uniques sans ordre spécifique.
  • Map<K, out V> : Interface pour une collection immuable de paires clé-valeur.
  • MutableMap<K, V> : Interface pour une collection mutable de paires clé-valeur.

Principales implémentations des collections dans la bibliothèque standard de Kotlin (souvent utilisées avec des fonctions constructeur) :

  • ArrayList : Liste mutable basée sur un tableau.
  • LinkedList : Liste mutable basée sur une liste chaînée.
  • HashSet : Ensemble mutable basé sur une table de hachage.
  • LinkedHashSet : Ensemble mutable basé sur une table de hachage et une liste chaînée (préserve l'ordre d'insertion).
  • HashMap : Carte mutable basée sur une table de hachage.
  • LinkedHashMap : Carte mutable basée sur une table de hachage et une liste chaînée (préserve l'ordre d'insertion).

Exemples de création de collections :

// Liste immuable
val immutableList = listOf("a", "b", "c")

// Liste mutable
val mutableList = mutableListOf(1, 2, 3)

// Ensemble immuable
val immutableSet = setOf("apple", "banana")

// Ensemble mutable
val mutableSet = mutableSetOf(10, 20, 30)

// Carte immuable
val immutableMap = mapOf("key1" to "value1", "key2" to "value2")

// Carte mutable
val mutableMap = mutableMapOf("a" to 1, "b" to 2)

La différence clé entre les versions mutables (Mutable*) et immutables (*) réside dans le fait que les collections mutables offrent des méthodes pour ajouter, supprimer et modifier des éléments, alors que les collections immutables ne le font pas. Les fonctions constructrices listOf, setOf, mapOf créent des collections immutables, et mutableListOf, mutableSetOf, mutableMapOf créent des collections mutables.

Avantages de l'utilisation des collections en Kotlin :

  • Sécurité : Les collections immutables par défaut aident à éviter les modifications inattendues.
  • Extensions : Kotlin fournit de nombreuses fonctions d'extension utiles pour travailler avec les collections (filter, map, forEach, etc.).
  • Interopérabilité : Il est facile de travailler avec du code Java existant utilisant les collections du Java Collection Framework.