Programmation de fléchettes - Collection

Dart, contrairement aux autres langages de programmation, ne prend pas en charge les tableaux. Les collections Dart peuvent être utilisées pour répliquer des structures de données comme un tableau. La bibliothèque dart: core et d'autres classes activent la prise en charge de Collection dans les scripts Dart.

Les collections de fléchettes peuvent être essentiellement classées comme -

Sr.Non Collection de fléchettes et description
1 liste

Une liste est simplement un groupe ordonné d'objets. ledart:core La bibliothèque fournit la classe List qui permet la création et la manipulation de listes.

  • Fixed Length List - La longueur de la liste ne peut pas changer au moment de l'exécution.

  • Growable List - La longueur de la liste peut changer au moment de l'exécution.

2 Ensemble

Set représente une collection d'objets dans laquelle chaque objet ne peut apparaître qu'une seule fois. La bibliothèque dart: core fournit la classe Set pour l'implémenter.

3 Plans

L'objet Map est une simple paire clé / valeur. Les clés et les valeurs d'une carte peuvent être de n'importe quel type. Une carte est une collection dynamique. En d'autres termes, Maps peut croître et se réduire au moment de l'exécution. La classe Map de la bibliothèque dart: core en fournit le support.

4 Queue

Une file d'attente est une collection qui peut être manipulée aux deux extrémités. Les files d'attente sont utiles lorsque vous souhaitez créer une collection premier entré, premier sorti. En termes simples, une file d'attente insère des données à une extrémité et les supprime à une autre extrémité. Les valeurs sont supprimées / lues dans l'ordre de leur insertion.

Itération des collections

La classe Iterator du dart:coreLa bibliothèque permet une traversée facile des collections. Chaque collection a uniteratorpropriété. Cette propriété renvoie un itérateur qui pointe vers les objets de la collection.

Exemple

L'exemple suivant illustre le parcours d'une collection à l'aide d'un objet itérateur.

import 'dart:collection'; 
void main() { 
   Queue numQ = new Queue(); 
   numQ.addAll([100,200,300]);  
   Iterator i= numQ.iterator; 
   
   while(i.moveNext()) { 
      print(i.current); 
   } 
}

le moveNext()La fonction renvoie une valeur booléenne indiquant s'il y a une entrée ultérieure. lecurrent propriété de l'objet itérateur renvoie la valeur de l'objet vers lequel l'itérateur pointe actuellement.

Ce programme devrait produire les éléments suivants output -

100 
200 
300