Créer une liste mutable vide dans Kotlin
-
Utiliser la méthode
mutableListOf()
dans Kotlin -
Utiliser la méthode
arrayListOf()
dans Kotlin - Utiliser le constructeur d’une structure de données dans Kotlin
- Utiliser la déclaration implicite dans Kotlin
- Conclusion
Avant de plonger dans les exemples, nous devons comprendre deux termes courants lorsque l’on travaille avec des données de type List
.
Les termes incluent mutable et immuable. Une liste modifiable est une liste qui peut être modifiée en ajoutant ou en supprimant des éléments dans la structure de données.
Une liste immuable est une liste qui ne peut pas être modifiée en ajoutant ou en supprimant des éléments dans la structure de données.
A partir des deux termes, nous pouvons avoir deux types de listes qui incluent List
et MutableList
. Notez que MutableList
est une liste car elle hérite de l’interface List
.
Le type MutableList
renvoie une liste modifiable, et le type List
renvoie une liste non modifiable. Cependant, lorsque vous créez une implémentation de la List
sans spécifier si la liste est mutable ou immuable, elle est supposée mutable par défaut.
Ce tutoriel nous apprendra comment créer une liste modifiable vide. Une liste vide signifie qu’il n’y a pas d’éléments dans la structure de données.
Utiliser la méthode mutableListOf()
dans Kotlin
Allez dans IntelliJ
et créez un nouveau projet Kotlin. Créez un nouveau fichier Kotlin nommé Main.kt
sous le dossier kotlin
.
Copiez le code suivant et collez-le dans le fichier.
val mutableEmptyList: MutableList<String> = mutableListOf();
fun main() {
println(mutableEmptyList.isEmpty());
mutableEmptyList.add("I am the first element !")
println(mutableEmptyList.isEmpty());
}
La méthode mutableListOf()
renvoie une liste vide de type MutableList
, ce qui signifie que nous pouvons ajouter et supprimer des éléments dans la structure de données. Pour vérifier cela, vous pouvez invoquer la méthode add()
ou remove()
sur l’objet retourné.
Exécutez le code ci-dessus et notez que la méthode isEmpty()
renvoie true
avant l’ajout d’un élément et false
après l’ajout d’un élément, comme indiqué ci-dessous.
true
false
Utiliser la méthode arrayListOf()
dans Kotlin
Commentez l’exemple précédent et collez le code suivant dans le fichier Main.kt
.
val mutableEmptyList: MutableList<String> = arrayListOf();
fun main() {
println(mutableEmptyList.isEmpty());
mutableEmptyList.add("I am the first element !")
println(mutableEmptyList.isEmpty());
}
La méthode arrayListOf()
retourne une ArrayList
vide, mais dans l’exemple précédent, nous retournons une MutableList
. Comment est-ce possible?
Dans la section d’introduction, nous avons mentionné que la MutableList
est une List
car elle hérite de l’interface List
; puisque ArrayList
implémente l’interface List
, nous pouvons retourner MutableList
en utilisant la ArrayList
.
Une fois que nous avons accès à la liste mutable, nous pouvons invoquer la méthode isEmpty()
pour vérifier si la méthode est vide. Exécutez le code ci-dessus et observez que les sorties sont comme indiqué ci-dessous.
true
false
Utiliser le constructeur d’une structure de données dans Kotlin
Commentez l’exemple précédent et collez le code suivant dans le fichier Main.kt
.
import java.util.LinkedList
val mutableEmptyList: MutableList<String> = LinkedList();
fun main() {
println(mutableEmptyList.isEmpty());
mutableEmptyList.add("I am the first element !")
println(mutableEmptyList.isEmpty());
}
La classe LinkedList
implémente l’interface List
, qui nous aide à retourner une MutableList
de type LinkedList
.
Le constructeur LinkedList()
retourne une liste vide et s’applique aux constructeurs des autres structures de données qui implémentent l’interface List
.
Exécutez l’exemple ci-dessus et notez que la sortie imprime la même chose que les autres exemples. La sortie est illustrée ci-dessous.
true
false
Utiliser la déclaration implicite dans Kotlin
Commentez l’exemple précédent et collez le code suivant dans le fichier Main.kt
.
val mutableEmptyList = ArrayList<String>();
fun main() {
println(mutableEmptyList.isEmpty());
mutableEmptyList.add("I am the first element !")
println(mutableEmptyList.isEmpty());
}
Comme vous l’avez noté dans les exemples précédents, nous spécifiions directement le type de retour que nous voulions, qui était la MutableList
. Dans la section d’introduction, nous avons mentionné que toute implémentation de liste est supposée être modifiable si nous ne spécifions pas si nous voulons une liste en lecture seule.
Cet exemple montre comment la MutableList
est retournée implicitement en définissant une implémentation List
sans indiquer le type de retour.
Exécutez le code ci-dessus et notez que la méthode isEmpty()
héritée de la classe AbstractCollection
renvoie true
avant l’ajout d’un élément et false
après l’ajout d’un élément. La sortie est illustrée ci-dessous.
true
false
Conclusion
Dans ce tutoriel, nous avons appris à créer une MutableList
vide en utilisant différentes approches, notamment : en utilisant la méthode mutableListOf()
, en utilisant la méthode arrayListOf()
, en utilisant le constructeur d’une structure de données et en utilisant le approche de déclaration implicite.
David is a back end developer with a major in computer science. He loves to solve problems using technology, learning new things, and making new friends. David is currently a technical writer who enjoys making hard concepts easier for other developers to understand and his work has been published on multiple sites.
LinkedIn GitHub