Liste en Dart

Qu'est-ce qu'une liste ?

Une liste est un outil permettant de structurer et de conserver un ensemble d'éléments. En termes simples, les listes servent de conteneurs capables de stocker divers types de données, qu'il s'agisse de chaînes de caractères, d'entiers, de valeurs booléennes, ou même d'autres listes. Elles offrent une manière systématique d'organiser des données connexes de manière manipulable.

Créer une liste

En Dart, vous pouvez générer une liste de deux façons. La méthode la plus courante est d'utiliser le mot-clé var, tandis que l'utilisation de la classe List est moins répandue. Dans les deux cas, les crochets ([]) et les virgules (,) sont nécessaires. Les crochets définissent les données, et les virgules séparent les éléments individuels. Voici un exemple de création de liste avec var :

// Liste de fruits préférés
var fruitsPreferes = ['Pomme', 'Banane', 'Orange'];
// Liste d'entiers impairs
var nombresImpairs = [1, 3, 5, 7, 9];
// Liste imbriquée (liste de listes)
var listeImbriquee = [
    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 9],
];

Et voici comment utiliser la classe List :

// Liste de fruits préférés
List fruitsPreferes = ['Pomme', 'Banane', 'Orange'];
// Liste d'entiers impairs
List nombresImpairs = [1, 3, 5, 7, 9];
// Liste imbriquée (liste de listes)
List listeImbriquee = [
    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 9],
];

Types de listes

Dart propose deux sortes de listes : les listes à longueur fixe et les listes extensibles. Une liste à longueur fixe a une taille prédéterminée qui ne peut pas être modifiée après sa création. Lors de l'initialisation d'une telle liste, elle commence vide et doit être remplie manuellement, ce qui la rend utile dans les cas où le nombre d'éléments est connu d'avance. Voici un exemple de liste à longueur fixe :

// Liste à longueur fixe
var listeFixe = List(3);

Remarque : Si plus d’éléments que la taille spécifiée sont ajoutés, une erreur sera générée.

En revanche, une liste extensible peut recevoir une quantité variable d'éléments à tout moment :

// Liste extensible
var listeExtensible = ['Lion', 'Tigre', 'Léopard'];

Méthodes de liste

Les listes en Dart sont très flexibles et proposent diverses méthodes pour gérer les données qu'elles contiennent. Les méthodes incluent des opérations pour ajouter ou supprimer des éléments.

Ajouter des éléments Pour ajouter des données à une liste, vous pouvez utiliser les méthodes suivantes :

  • (nomDeLaListe).add(element); – Ajoute un élément à la fin de la liste.
  • (nomDeLaListe).addAll(elements); – Ajoute plusieurs éléments à la fin de la liste.
// Ajout d'éléments à une liste
var ages = [21, 23, 34, 19, 45];
ages.add(42); // Ajoute 42 à la fin de la liste
ages.addAll([42, 37, 62]); // Ajoute 42, 37 et 62 à la fin de la liste

Vous pouvez également insérer des éléments à des positions spécifiques :

// Ajouter un élément à une position spécifique
var ages = [21, 23, 34, 19, 45];
ages[0] = 87; // Change le 1er élément de la liste par 87

Supprimer des données

Pour supprimer des éléments d'une liste, les méthodes suivantes peuvent être employées :

  • (nomDeLaListe).remove(element); – Supprime la première occurrence d'un élément spécifié.
  • (nomDeLaListe).removeAt(index); – Retire l'élément à l'index spécifié.
  • (nomDeLaListe).removeLast(); – Élimine le dernier élément de la liste.
var couleursPreferees = ['rouge', 'rouge', 'orange', 'jaune', 'vert'];
couleursPreferees.remove('rouge'); // Supprime le premier 'rouge' de la liste
couleursPreferees.removeAt(1); // Supprime le 2ème élément de la liste
couleursPreferees.removeLast(); // Supprime le dernier élément de la liste

Affichage des données d'une liste

Pour afficher les données d'une liste, on utilise la méthode print. Cette méthode permet d'afficher l'intégralité de la liste ou des éléments spécifiques :

void main() {
  var fleurs = ['Rose', 'Lily', 'Tournesol', 'Tulipe', 'Marguerite'];
  print(fleurs); // Affiche la liste entière
  // Affichage d'un élément spécifique
  var instruments = ['Piano', 'Guitare', 'Violon', 'Trompette'];
  print(instruments[2]); // Affiche le 3ème élément
}

La sortie de ce code sera :

[Rose, Lily, Tournesol, Tulipe, Marguerite]
Violon