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