Ir Freddy KADIATA
MsC Student
Ingénieur en sciences informatiques
Charger des cours à l’université Liberté
Certifié Entrepreneurship par le YALI NETWORK
Certifié Leadership par le YALI NETWORK
Certifié Java entreprise developper par L’institut français
de Lubumbashi
MsC Student Ir. Freddy KADIATA | UPL
Les collections d’objets
et la généricité
Ir. Freddy KADIATA | Université Liberté
Les collections d’objets
 Les collections d’objets sont des structures des données dynamique
permettant de manipuler et stocket un nombre important d’objets.
Ir. Freddy KADIATA | Université Liberté
Les différents types de collections
Ir. Freddy KADIATA | Université Liberté
Les différents types de collections
 Les objets de type List servent à stocker des objets sans condition particulière
sur la façon de les stocker
 Ils acceptent toutes les valeurs (null, etc)
 Les types Set sont un peu plus restrictifs: n'autorisent pas deux fois la même
valeur (le même objet)
 Les Map sont particulières, car elles fonctionnent avec un système clé - valeur
pour ranger et retrouver les objets qu'elles contiennent
Ir. Freddy KADIATA | Université Liberté
Les objets List
 Les List sont des tableaux extensibles à volonté
 Ont y retrouve : Vector, LinkedList et ArrayList
 Insertion d’un nombre considérable des d’objet (sans dépassement de la taille)
 Récupérer les élément à partir de leurs indices
Ir. Freddy KADIATA | Université Liberté
List: L'objet LinkedList
 Liste chaînée (LinkedList): chaque élément est lié aux éléments adjacents par
une référence à ces derniers
Ir. Freddy KADIATA | Université Liberté
List: L'objet LinkedList
Ir. Freddy KADIATA | Université Liberté
List: L'objet LinkedList
 L’interface LinkedList implémente l’interface Iterator
 Un itérateur est un objet qui a pour rôle de parcourir une collection
 ListIterator est une implémentation de Iterator
Ir. Freddy KADIATA | Université Liberté
List: L'objet LinkedList
Ir. Freddy KADIATA | Université Liberté
List: L'objet LinkedList
 vu que tous les éléments contiennent une référence à l'élément suivant, de
telles listes risquent de devenir particulièrement lourdes en grandissant !
 Elles sont adaptées lorsqu'il faut beaucoup manipuler une collection en
supprimant ou en ajoutant des objets en milieu de liste.
Ir. Freddy KADIATA | Université Liberté
List: L'objet ArrayList
 Ils sont bien pratique et acceptant tout type des données
Ir. Freddy KADIATA | Université Liberté
List: L'objet ArrayList
 Il existe tout un panel de méthodes fournies avec cet objet :
 add() permet d'ajouter un élément ;
 get(int index) retourne l'élément à l'indice demandé ;
 remove(int index) efface l'entrée à l'indice demandé ;
 isEmpty() renvoie « vrai » si l'objet est vide ;
 removeAll() efface tout le contenu de l'objet ;
 contains(Object element) retourne « vrai » si l'élément passé en paramètre est dans
l'ArrayList.
Ir. Freddy KADIATA | Université Liberté
List: L'objet ArrayList
 Contrairement aux LinkedList, les ArrayList sont rapides en lecture, même
avec un gros volume d'objets.
 Elles sont cependant plus lentes pour ajouter ou supprimer des données en
milieu de liste.
 Si l’objectif est d’effectuez beaucoup de lectures sans vous soucier de l'ordre
des éléments, optez pour une ArrayList ; en revanche, si vous insérez
beaucoup de données au milieu de la liste, optez pour une Linkedlist.
Ir. Freddy KADIATA | Université Liberté
Les objets Map
 Une collection de type Map est une collection qui fonctionne avec un
couple clé - valeur.
 On y trouve les objets Hashtable, HashMap, TreeMap, WeakHashMap …
 Ces objets ont comme point faible majeur leur rapport conflictuel avec la
taille des données à stocker.
 En effet, plus vous aurez de valeurs à mettre dans un objet Map , plus celles-ci
seront lentes et lourdes.
Ir. Freddy KADIATA | Université Liberté
Map: Hashtable (table de hachage)
 On utilise l’objet Enumeration pour parcourir facilement cette structure
Ir. Freddy KADIATA | Université Liberté
Map: Hashtable (table de hachage)
 Cet objet nous offre lui aussi tout un panel de méthodes utiles :
 isEmpty() retourne « vrai » si l'objet est vide ;
 contains(Object value) retourne « vrai » si la valeur est présente. Identique à
containsValue(Object value) ;
 containsKey(Object key) retourne « vrai » si la clé passée en paramètre est
présente dans la Hashtable ;
 put(Object key, Object value) ajoute le couple key - value dans l'objet ;
 elements() retourne une énumération des éléments de l'objet ;
 keys() retourne la liste des clés sous forme d'énumération.
Ir. Freddy KADIATA | Université Liberté
Map: Hashtable (table de hachage)
 NB: objet Hashtable n'accepte pas la valeur null et il est Thread Safe, c'est-
à-dire qu'il est utilisable dans plusieurs threads simultanement.
Ir. Freddy KADIATA | Université Liberté
Map: HashMap
 l’objet HashMap est équivalent HashTable à quelques
différence prêt:
 il accepte la valeur null ;
 il n'est pas Thread Safe.
Ir. Freddy KADIATA | Université Liberté
Les objets Set
 Un Set est une collection qui n'accepte pas les doublons
 On trouve parmi les Set les objets HashSet, TreeSet, LinkedHashSet…
 Certains Set sont plus restrictifs que d'autres : il en existe qui n'acceptent
pas null, certains types d'objets, etc.
Ir. Freddy KADIATA | Université Liberté
Set : HashSet
Ir. Freddy KADIATA | Université Liberté
Set : HashSet
 Voici une liste des méthodes qu’on trouve dans cette classe :
 add() ajoute un élément ;
 contains(Object value) retourne « vrai » si l'objet contient value ; isEmpty()
retourne « vrai » si l'objet est vide ; iterator() renvoie un objet de type Iterator ;
 remove(Object o) retire l'objet o de la collection ;
 toArray() retourne un tableau d'Object.
Ir. Freddy KADIATA | Université Liberté
Résumer
 Une collection permet de stocker un nombre variable d'objets.
 Il y a principalement trois types de collection : les List, les Set et les Map.
 Chaque type a ses avantages et ses inconvénients.
 Les Collection stockent des objets alors que les Map stockent un couple clé -
valeur.
 Si vous insérez fréquemment des données en milieu de liste, utilisez une LinkedList.
 Si vous voulez rechercher ou accéder à une valeur via une clé de recherche,
optez pour une collection de type Map.
 Si vous avez une grande quantité de données à traiter, tournez-vous vers une liste
de type Set.
Ir. Freddy KADIATA | Université Liberté
La Généricité
 Fournir un résumer sur 3 pages plus un exemple concret dans un code
Java.
 A déposer 48h après la séance
 Code à déposer sur Gith
Ir. Freddy KADIATA | Université Liberté

Contenu connexe

PDF
5- understandinggJava_Collections_v4.pdf
PDF
7_Chapitre6_Les collections.pdf
PPTX
Java collection
PPTX
Marzouk collection-map
PDF
POO-JAVA-partie-2.pdf
PPTX
Chap2: lescollections
PPTX
Les collections en Java
PPTX
Stockage des objets
5- understandinggJava_Collections_v4.pdf
7_Chapitre6_Les collections.pdf
Java collection
Marzouk collection-map
POO-JAVA-partie-2.pdf
Chap2: lescollections
Les collections en Java
Stockage des objets

Similaire à Note de cours de programmation avancée Université protestante de Lubumbashi Part 5.pdf (15)

PDF
Chapitre8: Collections et Enumerations En Java
PDF
Applications Android - cours 5 : Classe Object et Collections en Java
PPTX
Java uik-chap5-poo avance vf
PDF
Cours ppt Java structure de données 2024
PDF
Les collections en JAVA
PDF
Java 8 - collections et stream
PDF
Note de cours de programmation avancée Université protestante de Lubumbashi P...
PDF
Université des langages scala
PPTX
Les Streams de Java 8
PDF
06 visual basic .net - les structures de donnees, les enumerations de constan...
PDF
Introduction à scala
PDF
Android Optimisations Greendroid
PDF
Tout ce que le getting started mongodb ne vous dira pas
PDF
477d1e_e8372c8ed9114ac38eef1e80b654c67e_241008_201854.pdf
PDF
SIBD101-Introduction aux bases de données.pdf
Chapitre8: Collections et Enumerations En Java
Applications Android - cours 5 : Classe Object et Collections en Java
Java uik-chap5-poo avance vf
Cours ppt Java structure de données 2024
Les collections en JAVA
Java 8 - collections et stream
Note de cours de programmation avancée Université protestante de Lubumbashi P...
Université des langages scala
Les Streams de Java 8
06 visual basic .net - les structures de donnees, les enumerations de constan...
Introduction à scala
Android Optimisations Greendroid
Tout ce que le getting started mongodb ne vous dira pas
477d1e_e8372c8ed9114ac38eef1e80b654c67e_241008_201854.pdf
SIBD101-Introduction aux bases de données.pdf
Publicité

Note de cours de programmation avancée Université protestante de Lubumbashi Part 5.pdf

  • 1. Ir Freddy KADIATA MsC Student Ingénieur en sciences informatiques Charger des cours à l’université Liberté Certifié Entrepreneurship par le YALI NETWORK Certifié Leadership par le YALI NETWORK Certifié Java entreprise developper par L’institut français de Lubumbashi MsC Student Ir. Freddy KADIATA | UPL
  • 2. Les collections d’objets et la généricité Ir. Freddy KADIATA | Université Liberté
  • 3. Les collections d’objets  Les collections d’objets sont des structures des données dynamique permettant de manipuler et stocket un nombre important d’objets. Ir. Freddy KADIATA | Université Liberté
  • 4. Les différents types de collections Ir. Freddy KADIATA | Université Liberté
  • 5. Les différents types de collections  Les objets de type List servent à stocker des objets sans condition particulière sur la façon de les stocker  Ils acceptent toutes les valeurs (null, etc)  Les types Set sont un peu plus restrictifs: n'autorisent pas deux fois la même valeur (le même objet)  Les Map sont particulières, car elles fonctionnent avec un système clé - valeur pour ranger et retrouver les objets qu'elles contiennent Ir. Freddy KADIATA | Université Liberté
  • 6. Les objets List  Les List sont des tableaux extensibles à volonté  Ont y retrouve : Vector, LinkedList et ArrayList  Insertion d’un nombre considérable des d’objet (sans dépassement de la taille)  Récupérer les élément à partir de leurs indices Ir. Freddy KADIATA | Université Liberté
  • 7. List: L'objet LinkedList  Liste chaînée (LinkedList): chaque élément est lié aux éléments adjacents par une référence à ces derniers Ir. Freddy KADIATA | Université Liberté
  • 8. List: L'objet LinkedList Ir. Freddy KADIATA | Université Liberté
  • 9. List: L'objet LinkedList  L’interface LinkedList implémente l’interface Iterator  Un itérateur est un objet qui a pour rôle de parcourir une collection  ListIterator est une implémentation de Iterator Ir. Freddy KADIATA | Université Liberté
  • 10. List: L'objet LinkedList Ir. Freddy KADIATA | Université Liberté
  • 11. List: L'objet LinkedList  vu que tous les éléments contiennent une référence à l'élément suivant, de telles listes risquent de devenir particulièrement lourdes en grandissant !  Elles sont adaptées lorsqu'il faut beaucoup manipuler une collection en supprimant ou en ajoutant des objets en milieu de liste. Ir. Freddy KADIATA | Université Liberté
  • 12. List: L'objet ArrayList  Ils sont bien pratique et acceptant tout type des données Ir. Freddy KADIATA | Université Liberté
  • 13. List: L'objet ArrayList  Il existe tout un panel de méthodes fournies avec cet objet :  add() permet d'ajouter un élément ;  get(int index) retourne l'élément à l'indice demandé ;  remove(int index) efface l'entrée à l'indice demandé ;  isEmpty() renvoie « vrai » si l'objet est vide ;  removeAll() efface tout le contenu de l'objet ;  contains(Object element) retourne « vrai » si l'élément passé en paramètre est dans l'ArrayList. Ir. Freddy KADIATA | Université Liberté
  • 14. List: L'objet ArrayList  Contrairement aux LinkedList, les ArrayList sont rapides en lecture, même avec un gros volume d'objets.  Elles sont cependant plus lentes pour ajouter ou supprimer des données en milieu de liste.  Si l’objectif est d’effectuez beaucoup de lectures sans vous soucier de l'ordre des éléments, optez pour une ArrayList ; en revanche, si vous insérez beaucoup de données au milieu de la liste, optez pour une Linkedlist. Ir. Freddy KADIATA | Université Liberté
  • 15. Les objets Map  Une collection de type Map est une collection qui fonctionne avec un couple clé - valeur.  On y trouve les objets Hashtable, HashMap, TreeMap, WeakHashMap …  Ces objets ont comme point faible majeur leur rapport conflictuel avec la taille des données à stocker.  En effet, plus vous aurez de valeurs à mettre dans un objet Map , plus celles-ci seront lentes et lourdes. Ir. Freddy KADIATA | Université Liberté
  • 16. Map: Hashtable (table de hachage)  On utilise l’objet Enumeration pour parcourir facilement cette structure Ir. Freddy KADIATA | Université Liberté
  • 17. Map: Hashtable (table de hachage)  Cet objet nous offre lui aussi tout un panel de méthodes utiles :  isEmpty() retourne « vrai » si l'objet est vide ;  contains(Object value) retourne « vrai » si la valeur est présente. Identique à containsValue(Object value) ;  containsKey(Object key) retourne « vrai » si la clé passée en paramètre est présente dans la Hashtable ;  put(Object key, Object value) ajoute le couple key - value dans l'objet ;  elements() retourne une énumération des éléments de l'objet ;  keys() retourne la liste des clés sous forme d'énumération. Ir. Freddy KADIATA | Université Liberté
  • 18. Map: Hashtable (table de hachage)  NB: objet Hashtable n'accepte pas la valeur null et il est Thread Safe, c'est- à-dire qu'il est utilisable dans plusieurs threads simultanement. Ir. Freddy KADIATA | Université Liberté
  • 19. Map: HashMap  l’objet HashMap est équivalent HashTable à quelques différence prêt:  il accepte la valeur null ;  il n'est pas Thread Safe. Ir. Freddy KADIATA | Université Liberté
  • 20. Les objets Set  Un Set est une collection qui n'accepte pas les doublons  On trouve parmi les Set les objets HashSet, TreeSet, LinkedHashSet…  Certains Set sont plus restrictifs que d'autres : il en existe qui n'acceptent pas null, certains types d'objets, etc. Ir. Freddy KADIATA | Université Liberté
  • 21. Set : HashSet Ir. Freddy KADIATA | Université Liberté
  • 22. Set : HashSet  Voici une liste des méthodes qu’on trouve dans cette classe :  add() ajoute un élément ;  contains(Object value) retourne « vrai » si l'objet contient value ; isEmpty() retourne « vrai » si l'objet est vide ; iterator() renvoie un objet de type Iterator ;  remove(Object o) retire l'objet o de la collection ;  toArray() retourne un tableau d'Object. Ir. Freddy KADIATA | Université Liberté
  • 23. Résumer  Une collection permet de stocker un nombre variable d'objets.  Il y a principalement trois types de collection : les List, les Set et les Map.  Chaque type a ses avantages et ses inconvénients.  Les Collection stockent des objets alors que les Map stockent un couple clé - valeur.  Si vous insérez fréquemment des données en milieu de liste, utilisez une LinkedList.  Si vous voulez rechercher ou accéder à une valeur via une clé de recherche, optez pour une collection de type Map.  Si vous avez une grande quantité de données à traiter, tournez-vous vers une liste de type Set. Ir. Freddy KADIATA | Université Liberté
  • 24. La Généricité  Fournir un résumer sur 3 pages plus un exemple concret dans un code Java.  A déposer 48h après la séance  Code à déposer sur Gith Ir. Freddy KADIATA | Université Liberté