Les dictionnaires en DArt
Sommaire
- 1- Les listes
- 1.1- Présentation
- 1.2- Déclaration d'une liste en Dart
- 1.2.1- Exemple
- 1.2.2- Autres déclarations
- 1.3- Types de listes
- 1.3.1- Liste de longueur fixe
- 1.3.2- Liste extensible
- 1.4- Accéder aux éléments d'une liste
- 1.4.1- Accéder à un élément spécifique via son index
- 1.4.2- Parcourir les éléments d'une liste
- 1.4.3- Propriétés et méthodes associées aux listes Dart
- 2- Les ensembles dans Dart (Dart Sets)
- 2.1- Présentation ensemble Dart
- 2.2- Déclaration d'un ensemble dans Dart
- 2.3- Ajout d'un élément dans un ensemble Dart
- 2.4- Accéder à l'élément d'un l'ensemble Dart
- 3- Les dictionnaires
- 3.1- Présentation des dictionnaires dans Dart
- 3.2- Créer des dictionnaires en Dart
- 3.2.1- Création des dictionnaires avec des clés de type entier
- 3.2.2- Création des dictionnaires avec des clés de types différents
- 3.2.3- Cours Flutter
-
Les listes
-
Présentation
- La liste est l’un des quatre types de collection proposés par Dart. Il équivaut à Array dans d’autres langages
- Dans la plupart des langages de programmation, le tableau est un concept indispensable. Cependant, le langage de programmation Dart n’a pas de concept de tableau traditionnel. Il utilise plutôt List avec des fonctionnalités similaires et en a ajouté de nouvelles.
- Une liste est une structure de données qui contient une série de valeurs.
- Une liste est déclarée par une série de valeurs (guillemets, simples ou doubles, s’il s’agit de chaînes de caractères) séparées par des virgules, et le tout encadré par des crochets.
- On définit une liste comme une collection d’éléments séparés par une virgule, l’ensemble étant enfermé dans des crochets.
- Une liste est une collection ordonnée et modifiable d’objets éventuellement hétérogènes. Les éléments d’une liste sont séparés par des
virgules
et définis entre crochets[]
. Le type des listes en Dart estlist
. - Une liste est une suite d’objets, rangés dans un certain ordre. Chaque objet est séparé par une virgule et la suite est encadrée par des crochets.
- Une liste n’est pas forcement homogène : elle peut contenir des objets de types différents les uns des autres.
- Une liste est un ensemble d’ élément du même type. Elles sont similaires aux tableaux en C, C++ et Java. Les listes servent principalement à créer des collections de données pouvant se répéter.
- Il existe principalement deux types de liste.
- les listes de taille non modifiable
- les listes de taille modifiable
- La taille de la liste étant le nombre d’élément que cette liste peut contenir. Si la taille de la liste est modifiable alors cette liste peut contenir un nombre illimité d’ élément.
-
Déclaration d’une liste en Dart
- La syntaxe pour déclarer une liste de taille non modifiable est la suivante:
List nom_de_la_liste = [<éléments de la liste>]
-
Exemple
- Il existe deux façon de déclarer une liste de taille modifiable.
- En effet quand la taille de la liste n’est pas spécifiée au moment de la déclaration de la liste, celle ci devient une liste de taille modifiable.
-
Autres déclarations
-
Types de listes
- La liste Dart est classée comme suit :
-
Liste de longueur fixe
- Comme son nom l’indique, la longueur de ce type de liste est fixe, qui est prédéfinie, lors de la déclaration de la liste.
- Comme la taille est fixe, elle ne peut pas être modifiée lors de l’exécution.
- Syntax :
var list_name = new List( size );
- Cela crée une liste de longueur fixe à laquelle des éléments ne peuvent pas être ajoutés ou supprimés lors de l’exécution. Si, dans tous les cas, une modification est apportée à la liste par rapport à sa taille, le compilateur lève une exception.
- Cela peut ne pas fonctionner lorsque la sécurité null est activée. Dans ce cas, utilisez le constructeur List
.filled. Ce constructeur crée une liste de la longueur donnée avec des valeurs renseignées à chaque position. -
Liste extensible
- Ce type de liste n’a pas de longueur fixe ; par conséquent, il peut être étendu pour contenir n’importe quel nombre d’éléments. La taille de la liste n’est pas mentionnée lors de sa déclaration et peut donc être modifiée au moment de l’exécution.
- Syntax :
var list_name = new List( );
- Cela crée une liste de longueur variable à laquelle des éléments peuvent être ajoutés ou supprimés lors de l’exécution. Ici, des modifications peuvent être apportées à la liste par rapport à sa taille.
-
Accéder aux éléments d’une liste
- Pour accéder à un élément dans une liste, on utilise son index. Les listes en Dart ont 0 comme premier index. Cela veut dire que le premier élément de la liste a comme index 0, le deuxième 1, le troisième 2 et ainsi de suite.
-
Accéder à un élément spécifique via son index
- Pour accéder à un élément spécifique d’une liste on ajoute son index entre crochets:
list[index]
- On peut aussi modifier un élément de la liste via son index:
-
Parcourir les éléments d’une liste
- On peut aussi parcourir les éléments d’une liste Dart à l’aide de la
boucle for
-
Propriétés et méthodes associées aux listes Dart
- add(élément): permet d’ajouter un élément à la liste
- clear(): permet de vider la liste
- insert(): permet d’insérer un élément à une position spécifiée
- indexOf(): renvoie la position d’un élément dans une liste
- remove(): permet de supprimer un élément
- removeAt(): permet de supprimer un élément à une position spécifiée
- removeLast(): supprime le dernier élément
- sort(): permet de trier la liste
- subList(): permet d’extraire une sous liste avec
List
sublist(int start, [int? end]); - toSet(): transforme la liste en un ensemble
- first: renvoie le premier élément de la liste.
- isEmpty: renvoie true si la collection ne contient aucun élément.
- isNotEmpty: renvoie true si la collection a au moins un élément.
- length: renvoie la taille de la liste.
- last: renvoie le dernier élément de la liste.
- reversed: renvoie un objet itérable contenant les valeurs des listes dans l’ordre inverse.
- single: vérifie si la liste n’a qu’un seul élément et le renvoie.
-
Les ensembles dans Dart (Dart Sets)
-
Présentation ensemble Dart
- Un ensemble est une collection d’articles non ordonnée. Chaque élément de l’ensemble est unique (pas de doublons) et doit être immuable (ne peut pas être modifié).
- Un ensemble est une collection non ordonnée d’objets, contrairement aux séquences comme les listes et les tuples dans lesquels chaque élément est indexé. Un ensemble ne peut pas contenir de doublon : on ne peut y trouver des éléments que zéro ou une fois.
- Un ensemble est une collection non ordonnée d’éléments. Chaque élément est unique (pas de doublons) et doit être immuable (ce qui ne peut pas être changé).Cependant, l’ensemble lui-même est mutable. Nous pouvons ajouter ou supprimer des éléments.
-
Déclaration d’un ensemble dans Dart
- Dart fournit les deux méthodes pour déclarer/initialiser un ensemble vide.
- L’ensemble peut être déclaré en utilisant les accolades
{}
précédées d’un argument de type, ou déclarer la variable de typeSet
avec desaccolades {}
. - La syntaxe de la déclaration de set est donnée ci-dessous.
var nom_variable =
ou,{} ; Set
variable_name = {} ; -
Ajout d’un élément dans un ensemble Dart
- Pour ajouter un élément dans l’ensemble, nous utilisons la fonction
.add()
ou la fonction.addAll()
. Mais vous devez noter que si vous essayez d’ajouter une valeur en double à l’aide de ces fonctions, elles seront ignorées dans un ensemble. -
Accéder à l’élément d’un l’ensemble Dart
- Dart fournit la méthode
elementAt()
, qui est utilisée pour accéder à l’élément en transmettant sa position d’index spécifiée. - L’indexation de l’ensemble commence à partir de 0 et monte jusqu’à size – 1, où size est le numéro de l’élément existant dans l’ensemble. Il lancera une erreur si nous entrons un numéro d’index plus grand que sa taille. La syntaxe est donnée ci-dessous.
-
Les dictionnaires
-
Présentation des dictionnaires dans Dart
- Un dictionnaire Dart est une liste ordonnée de paires clé-valeur. Les éléments du dictionnaire sont des paires clé-valeur séparées par des virgules.
- Les clés du dictionnaire Dart sont immuables et doivent être uniques, tandis que les valeurs sont mutables et peuvent être modifiées ou modifiées à tout moment.
- Comme dans une liste, les éléments mémorisés dans un dictionnaire peuvent être de n’importe quel type (valeurs numériques, chaînes de caractères, listes,… et même dictionnaires).
- Les dictionnaires se révèlent très pratiques lorsque vous devez manipuler des structures complexes à décrire et que les listes présentent leurs limites.
- Les dictionnaires sont des collections non ordonnées d’objets, c’est-à-dire qu’il n’y a pas de notion d’ordre (i.e. pas d’indice). On accède aux valeurs d’un dictionnaire par des clés.
-
Créer des dictionnaires en Dart
- En Dart, un dictionnaire peut être créé en plaçant une séquence d’éléments entre accolades
{}
, séparées par une "virgule"(,
), où les clés et les valeurs sont également séparées par "deux points" (:
). - Le dictionnaire contient une paire de valeurs, l’une étant la clé et l’autre élément de paire correspondant étant la sienne Key:value.
- Les valeurs d’un
dictionnaire
peuvent être de n’importe quel type de données et peuvent être dupliquées, tandis que les clés ne peuvent pas être répétées et doivent être immuables. - La combinaison d’une clé et de sa valeur, c’est-à-dire "clé: valeur" représente un élément unique d’un dictionnaire en Dart.
- Lors de la définition des objets de dictionnaire statiques, vous devez veiller à utiliser des valeurs uniques pour les clés. Cependant, ils peuvent dériver de n’importe quel type de données Dart valide.
- N’oublier pas non plus de n’utiliser que des types de données immuables pour les valeurs alors qu’elles peuvent avoir des doublons.
-
Création des dictionnaires avec des clés de type entier
-
Création des dictionnaires avec des clés de types différents
List étatsDesUSA = List(50);
OU
var étatsDesUSA = List(50);
type_de_donnee nom_de_la_liste = List();
OU
type_de_donnee nom_de_la_liste = [];
var foo3 = []; // OK
var bar3 = ["One", "Two"]; // OK
var foo4 = []; // OK
var bar4 = ["One", "Two"]; // OK
List foo5 = []; // OK
List bar6 = ["One", "Two"]; // OK
List foo7 = []; // OK
List bar7 = ["One", "Two"]; // OK
void main() {
// declaration of fixed length list
var fixedList = new List.filled(5, 0, growable: false);
// inserting values in the fixed length list
fixedList[0] = 1;
fixedList[1] = 2;
fixedList[2] = 3;
fixedList[3] = 4;
fixedList[4] = 5;
// fixedList[ 5 ] = 6; Including this line throws an error
// printing elements of the fixed length list
print(' \n Elements in the list are as follows: $fixedList ');
}
void main( )
{
// declaring growable list
var growableList = new List< int >.filled( 0, 0, growable: true );
// initializing growable list with values
growableList = [ 0, 1, 2, 3, 4, 5 ];
print( ' The elements in the growable list are : $growableList ' );
// adding element 6 to the growable list
growableList.add( 6 );
print( ' After adding 6 to the list, he elements in the growable list are : $growableList ' );
}
void main(){
// définir une liste du type String
//on peut dans ce cas insérer différents types de variables
List maListe = ["Dart" , "Python" , "Java"];
// afficher le premier élément (index 0) de la liste
print(maListe[0]); // affiche Dart
}
Exemple
void main(){
List maListe = ["Dart" , "Flutter" , "Python" , "Django"];
maListe[0] = "Java";
print(maListe); // affiche: [Java, Flutter, Python, Django]
}
void main(){
var l = [11,27,13 ,9];
for (var x in l){
print(x);
}
}
void main(){
// définir une liste du type String
List maListe = ["Laptop" , "télévision" , "Phone"];
// ajouter un élément à la liste
maListe.add("Tablette");
// afficher la liste
print(maListe); // affiche [Laptop, télévision, Phone, Tablette]
}
void main(){
// définir une liste du type String
List maListe = ["Laptop" , "télévision" , "Phone"];
// vider la liste
maListe.clear();
// afficher la liste
print(maListe); // affiche []
}
void main(){
// définir une liste du type String
List maListe = ["Laptop" , "télévision" , "Phone"];
// insérer un élément à une position donnée
maListe.insert(2 , "my element");
// afficher la liste
print(maListe); // affiche: [Laptop, télévision, my element, Phone]
}
void main(){
// définir une liste du type String
List maListe = ["Python" , "Dart" , "Java" , "Flutter"];
// renvoyer l'index d'un élément de la liste
print(maListe.indexOf("Java")); // affiche 2
}
void main(){
// définir une liste du type String
List maListe = ["Python" , "Dart" , "Java" , "Flutter"];
// supprimer un élément donnée par son nom
maListe.remove("Java");
print(maListe);// affiche [Python, Dart, Flutter]
}
void main(){
// définir une liste du type String
List maListe = ["Python" , "Dart" , "Java" , "Flutter"];
// supprimer un élément à une position donnée
maListe.removeAt(1);
print(maListe);// affiche [Python, Java, Flutter]
}
void main() {
// Création de la liste
List myList = ['Mango', 'Apple', 'Pineapple', 'Lemon'];
// Affiche les résultats
print('La liste avant de supprimer le dernier élément : $myList');
// Affecte les éléments supprimés à la variable res
var res = myList.removeLast();
// Affiche la valeur
print('La valeur de l\'item supprimé : $res');
// Affiche les résultats
print('La nouvelle liste après suppression du dernier élément : $myList');
}
void main() {
// Création de la liste
List myList = [13, 2, -11, 142, -389, 0];
// Affiche les résultats
print(myList..sort());
}
void main() {
final colors = ['red', 'green', 'blue', 'orange', 'pink'];
print(colors.sublist(1, 3)); // [green, blue]
final colors = ['red', 'green', 'blue', 'orange', 'pink'];
print(colors.sublist(3)); // [orange, pink]
}
Contrairement aux listes, les éléments des ensembles se trouvent dans des accolades
{ }
.
Elles ont les même propriétés et les mêmes méthodes que les listes
Exemple:01
// Pour ajouter une seule valeur
variable_name.add(value);
// Pour ajouter plusieurs valeurs
variable_name.addAll(value1, value2, value3, ...valueN)
Exemple:02
void main() {
print("Insérer un élément dans l'ensemble");
var noms = {"Mohamed", "Ridha", "Dhouha", "Adem"};
// Déclaration d'un ensemble vide
var etudiants = {};
etudiants.add("Amel");
print(etudiants);
// Ajout de plusieurs éléments
etudiants.addAll(noms);
print(etudiants);
}
Code
void main() {
print("Insérer un élément dans l'ensemble");
var noms = {"Mohamed", "Ridha", "Dhouha", "Adem"};
// Déclaration d'un ensemble vide
var etudiants = {};
etudiants.add("Amel");
print(etudiants);
// Ajout de plusieurs éléments
etudiants.addAll(noms);
print(etudiants);
//Accéder à un élément de l'ensemble
var personne = etudiants.elementAt(4);
print(personne);
}
Production
Insérer un élément dans l'ensemble
{Amel}
{Amel, Mohamed, Ridha, Dhouha, Adem}
Adem
Les clés de dictionnaire sont sensibles à la casse, le même nom.
Code
void main() {
var dictionnaire = {
1: 'Lundi',
2: 'Mardi',
3: 'Mercredi',
4: 'Jeudi',
5: 'Vendredi',
6: 'Samedi',
7: 'Dimanche'
};
print("\nExemple d'un dictionnaire: ");
print(dictionnaire);
}
Production
Exemple d'un dictionnaire:
{1: Lundi, 2: Mardi, 3: Mercredi, 4: Jeudi, 5: Vendredi, 6: Samedi, 7: Dimanche}
Code
void main() {
var dictionnaire = {
var dictionnaire = {
1: 'Lundi',
'deuxieme': 'Mardi',
3: 'Mercredi',
4: 'Jeudi',
'Cinquième': 'Vendredi',
6: 'Samedi',
7: 'Dimanche'
};
print("\nExemple d'un dictionnaire: ");
print(dictionnaire);
}
Production
Exemple d'un dictionnaire:
{1: Lundi, deuxieme: Mardi, 3: Mercredi, 4: Jeudi, Cinquième: Vendredi, 6: Samedi, 7: Dimanche}