SLAM5-02 Listes et Dictionnaires

Transcription

SLAM5-02 Listes et Dictionnaires
SLAM5
Listes, collections et dictionnaires
[email protected] (2016)
Chapitre 1
Les listes
Qu’est-ce qu’une liste ?
Qu’est-ce qu’une liste ?
●
Il s’agit d’une suite d’éléments de même type :
–
Jeu de cartes = 8, 8, 9, 10, V, D, R, As
–
Fiches de répertoire téléphonique
–
...
Qu’est-ce qu’une liste ?
Il s’agit d’une suite d’éléments de même type :
7
8
10
V
+
V
●
0
1
2
3
using System.Collections.Generic;
List<int> Jeu = new List<int>(); // les cartes sont numériquement 7, 8, 9, 10, 11, 12, 13, 14
Jeu.add(7);
Jeu.add(8);
Jeu.add(10);
Jeu.add(11);
Qu’est-ce qu’une liste ?
Il s’agit d’une suite d’éléments de même type :
7
8
10
V
V
0
1
List<int> Jeu = new List<int>();
Jeu.add(7);
Jeu.add(8);
Jeu.add(10);
Jeu.add(11);
Jeu.add(13);
2
R
R
●
3
4
Qu’est-ce qu’une liste ?
Il s’agit d’une suite d’éléments de même type :
8
10
V
V
0
Jeu.add(10);
Jeu.add(11);
Jeu.add(13);
Jeu.RemoveAt(0);
1
R
R
●
2
3
Qu’est-ce qu’une liste ?
Il s’agit d’une suite d’éléments de même type :
10
V
V
0
1
2
Jeu.add(13);
Jeu.RemoveAt(0);
Jeu.Insert(2,12); // insertion après l’index 2
R
D
D
8
R
●
3
4
Qu’est-ce qu’une liste ?
Il s’agit d’une suite d’éléments de même type :
10
V
V
0
1
Foreach (int index in Jeu) {
Console.writeline(index);
}
2
R
D
D
8
R
●
3
4
Qu’est-ce qu’une liste ?
●
Voici comment fonctionne une liste :
@Jeu(7)
@Jeu(8)
@Jeu(10)
@Jeu(12)
@Jeu(13)
7
8
10
12
13
PTR
PTR
PTR
0
1
2
3
4
Supprimer la carte "8" revient à :
1) modifier le pointeur de la carte "7" (index 0) sur l’adresse de la carte "10"
2) supprimer la carte "8" qui ne sert plus à rien.
Qu’est-ce qu’une liste ?
●
Voici comment fonctionne une liste :
@Jeu(7)
@Jeu(8)
@Jeu(10)
@Jeu(12)
@Jeu(13)
7
8
10
12
13
PTR
PTR
PTR
0
1
2
3
4
Supprimer la carte "8" revient à :
1) modifier le pointeur de la carte "7" (index 0) sur l’adresse de la carte "10"
2) supprimer la carte "8" qui ne sert plus à rien.
Dans la réalité, chaque élément de la liste connaît
Son successeur mais aussi son prédécesseur !
Qu’est-ce qu’une liste ?
●
Quelles listes peut-on utiliser ?
–
On peut faire une liste de type primaire (int, String …)
–
On peut aussi utiliser des objets
List<String> description = new List<String>();
description.add("Voici mon texte de description");
List <Livre> maBibliotheque = new List<Livre>();
MaBibliotheque.add(new Livre() {tome=1, Titre="Harry Potter…"});
Chapitre 2
Les dictionnaires
Qu’est-ce qu’un dictionnaire ?
Qu’est-ce qu’un dictionnaire ?
●
Un dictionnaire est l’association de 2 éléments :
–
Dans un magasin : référence, article
–
Dans un lycée : numéro étudiant, nom étudiant
–
Dans la vie : nom de personne, numéro de téléphone
●
Un dictionnaire permet un tri rapide des informations
●
On parle aussi de tableau associatif
Qu’est-ce qu’un dictionnaire ?
●
Comment utiliser un dictionnaire :
+
#555-012
#555-345
#555-678
Dictionary<String, int> monAnnuaire = new Dictionary<String, int>();
monAnnuaire.add("Benjamin Jacob Grimm",555012);
monAnnuaire.add("Robert Bruce Banner",555345);
monAnnuaire.add("Anthony Edward Stark",555678);
Qu’est-ce qu’un dictionnaire ?
●
Comment utiliser un dictionnaire :
#555-012
#555-345
#555-678
#555-999
Dictionary<String, int> monAnnuaire = new Dictionary<String, int>();
monAnnuaire.add("Benjamin Jacob Grimm",555012);
monAnnuaire.add("Robert Bruce Banner",555345);
monAnnuaire.add("Anthony Edward Stark",555678);
monAnnuaire.add("Bruce Wayne",555999);
Qu’est-ce qu’un dictionnaire ?
●
Comment utiliser un dictionnaire :
#555-012
#555-678
monAnnuaire.add("Anthony Edward Stark",555678);
monAnnuaire.add("Bruce Wayne",555999);
MonAnnuaire.remove("Robert Bruce Banner");
#555-999
Chapitre 3
Les méthodes communes
(listes et dictionnaires)
Quelles sont les méthodes communes ?
Quelles sont les méthodes communes ?
●
En réalité, la gestion des déplacements dans une liste
(collection) ou un dictionnaire est souvent identique :
–
Suivant, Courant, Précédent
–
Début, Fin, Compter
–
Chercher, insérer, effacer
Quelles sont les méthodes communes ?
●
Résumé des méthodes les plus utilisées :
Premier = Heros.First()
Dispo = Heros.ElementAt(1)
Dernier = Heros.Last()
+
+
Heros.Enqueue("Batman")
Heros.AddFirst("La Chose")
Heros.Count()
Heros.Find()
Fin

Documents pareils