SlideShare une entreprise Scribd logo
1  sur  35
La programmation en Java
Les collections
MIT University
M1 Génie Logiciel
2012- 2013
M. CISSE
Plan
1. Définition d’une collection
2. Les collections de type Set
3. Les collections de type List
4. Les collections de type Map
- Une collection est une structure de données permettant de
regrouper un ensemble d’objets
- Comme un tableau mais en mieux
- La plupart des opérations sur un tableau (parcours, recherche,
ajout, suppression, etc.) déjà implémentées
- On parle de Java Collections Framework (JCF)
- http://www.falkhausen.de/en/diagram/html/java.util.Collecti
on.html
Les collections ->
Définition d’une collection
Papa Cheikh CISSE, http://pacheikh.wordpress.com, @pacheikhcisse 3
- Les collections de type Set
- Les collections de type List
- Les collections de type Map
Les collections ->
Définition d’une collection
Papa Cheikh CISSE, http://pacheikh.wordpress.com, @pacheikhcisse 4
- Interface java.util.Set<E>
- Interface java.util.List<E>
- Interface java.util.Map<E>
Les collections ->
Définition d’une collection
Papa Cheikh CISSE, http://pacheikh.wordpress.com, @pacheikhcisse 5
Aussi au sein du JCF :
- Interface java.util.Iterator<E>
Déclare des méthodes pour le parcours des collections
Les collections ->
Définition d’une collection
boolean hasNext()
E next()
void remove()
Papa Cheikh CISSE, http://pacheikh.wordpress.com, @pacheikhcisse 6
Aussi au sein du JCF :
- Interface java.util.ListIterator<E> qui hérite de
java.util.Iterator<E>
Déclare des méthodes pour le parcours des listes dans les deux sens et
modifier les éléments de la liste
Les collections ->
Définition d’une collection
void add(E e)
boolean hasPrevious()
int nextIndex()
E previous()
int previousIndex()
void set(E e)
Papa Cheikh CISSE, http://pacheikh.wordpress.com, @pacheikhcisse 7
Les collections
LES COLLECTIONS DE TYPE SET
- Interface java.util.Set<E>
- Représentation d’un ensemble (collection non
ordonnée d’éléments)
- Type de collection qui refuse les doublons
- Classes HashSet<E>, TreeSet<E>
Les collections ->
Les collections de type Set
Papa Cheikh CISSE, http://pacheikh.wordpress.com, @pacheikhcisse 9
HashSet<E>
- Classe java.util.HashSet<E>
- Implémentation de java.util.Set<E>
Les collections ->
Les collections de type Set
Papa Cheikh CISSE, http://pacheikh.wordpress.com, @pacheikhcisse 10
Les collections ->
Les collections de type Set
HashSet<E>
- Classe java permettant de créer et de manipuler un
ensemble
- plus simple que TreeSet<E> et LinkedHashSet<E>
Papa Cheikh CISSE, http://pacheikh.wordpress.com, @pacheikhcisse 11
Les collections ->
Les collections de type Set
HashSet<E>
Méthodes de la classe
java.util.HashSet<E>
Papa Cheikh CISSE, http://pacheikh.wordpress.com, @pacheikhcisse 12
HashSet<E>
Exemple de manipulation
d’un ensemble grâce à la
collection
java.util.HashSet<E>
Les collections ->
Les collections de type Set
Papa Cheikh CISSE, http://pacheikh.wordpress.com, @pacheikhcisse 13
HashSet<E>
parcours
Les collections ->
Les collections de type Set
Papa Cheikh CISSE, http://pacheikh.wordpress.com, @pacheikhcisse 14
Exercice 1
En utilisant les HashSet, écrire un programme qui
recueille des entiers positifs rentrés par l’utilisateur jusqu’à
ce que celui ci renseigne une valeur négative.
1. Le programme envoie un avertissement lorsque la
valeur rentrée existe déjà.
2. À l’entrée d’une valeur négative, vous parcourez la
collection pour afficher ses éléments.
Les collections ->
Les collections de type Set
5
0
2
2
Existe déjà
4
5
Existe déjà
-2
0 2 4 5 -2
Papa Cheikh CISSE, http://pacheikh.wordpress.com, @pacheikhcisse 15
Les collections
LES COLLECTIONS DE TYPE LIST
- java.util.List<E>
- Collections ordonnées ou séquences
- Permettent l’accès par indice
- Autorisent les doublons
- Classes ArrayList<E>, LinkedList<E>
Papa Cheikh CISSE, http://pacheikh.wordpress.com, @pacheikhcisse
Les collections ->
Les collections de type List
Papa Cheikh CISSE, http://pacheikh.wordpress.com, @pacheikhcisse 17
ArrayList<E>
- Classe java.util.ArrayList<E>
- Implémentation de java.util.List<E>
- Tableau d’objets de taille dynamique
- on peut accéder à un élément du ArrayList par
son index
Papa Cheikh CISSE, http://pacheikh.wordpress.com, @pacheikhcisse
Les collections ->
Les collections de type List
Papa Cheikh CISSE, http://pacheikh.wordpress.com, @pacheikhcisse 18
ArrayList<E>
- Constructeurs
Papa Cheikh CISSE, http://pacheikh.wordpress.com, @pacheikhcisse
Les collections ->
Les collections de type List
Papa Cheikh CISSE, http://pacheikh.wordpress.com, @pacheikhcisse 19
ArrayList<E>
- Quelques méthodes
Papa Cheikh CISSE, http://pacheikh.wordpress.com, @pacheikhcisse
Les collections ->
Les collections de type List
void add(int index, E element)
void addAll(int index, Collection<? extends E> c)
E get(int index)
int lastIndexOf(Object o)
E remove(int index)
E set(int index, E element)
Object[] toArray()
Papa Cheikh CISSE, http://pacheikh.wordpress.com, @pacheikhcisse 20
Papa Cheikh CISSE, http://pacheikh.wordpress.com, @pacheikhcisse
Les collections ->
Les collections de type List
ArrayList<E>
exemple
Papa Cheikh CISSE, http://pacheikh.wordpress.com, @pacheikhcisse 21
Papa Cheikh CISSE, http://pacheikh.wordpress.com, @pacheikhcisse
Les collections ->
Les collections de type List
ArrayList<E>
parcours
Papa Cheikh CISSE, http://pacheikh.wordpress.com, @pacheikhcisse 22
LinkedList<E>
- Classe java.util.LinkedList<E>
- Implémentation de java.util.List<E>
- Collection permettant de représenter des listes
chainées
- Liste dont chaque élément contient une référence vers
le suivant
Papa Cheikh CISSE, http://pacheikh.wordpress.com, @pacheikhcisse
Les collections ->
Les collections de type List
Papa Cheikh CISSE, http://pacheikh.wordpress.com, @pacheikhcisse 23
Papa Cheikh CISSE, http://pacheikh.wordpress.com, @pacheikhcisse
Les collections ->
Les collections de type List
LinkedList<E>
Constructeurs
Papa Cheikh CISSE, http://pacheikh.wordpress.com, @pacheikhcisse 24
Papa Cheikh CISSE, http://pacheikh.wordpress.com, @pacheikhcisse
Les collections ->
Les collections de type List
LinkedList<E>
Quelques méthodes
void addFirst(Object o)
void add(int index, E element)
Object getFirst()
Object get(int index)
Object set(int index, E element)
Papa Cheikh CISSE, http://pacheikh.wordpress.com, @pacheikhcisse 25
Papa Cheikh CISSE, http://pacheikh.wordpress.com, @pacheikhcisse
Les collections ->
Les collections de type List
LinkedList<E>
exemple
Papa Cheikh CISSE, http://pacheikh.wordpress.com, @pacheikhcisse 26
Papa Cheikh CISSE, http://pacheikh.wordpress.com, @pacheikhcisse
Les collections ->
Les collections de type List
LinkedList<E>
- parcours
Papa Cheikh CISSE, http://pacheikh.wordpress.com, @pacheikhcisse 27
Papa Cheikh CISSE, http://pacheikh.wordpress.com, @pacheikhcisse
Les collections ->
Les collections de type List
Papa Cheikh CISSE, http://pacheikh.wordpress.com, @pacheikhcisse
Exercice 2
En utilisant les List (ArrayList<E> ou
LinkedList<E>), écrire un programme
Miroir.java qui recueille des chaines de caractères
rentrées par l’utilisateur jusqu’à ce que celui ci renseigne
la chaine "FIN".
À l’entrée de "FIN", vous parcourez la collection pour
afficher ses éléments mais à l’inverse.
Engage
le
jeu
que
je
le
gagne
FIN
gagne le je que jeu le
Engage
28
Les collections
LES COLLECTIONS DE TYPE MAP
- java.util.Map<K,V>
- Type de collection qui associe une clé unique de type K à une
valeur de type V
- Chaque clé ne peut correspondre qu’à une valeur au plus
- Classe HashMap<K,V>
Papa Cheikh CISSE, http://pacheikh.wordpress.com, @pacheikhcisse
Les collections ->
Les collections de type Map
Papa Cheikh CISSE, http://pacheikh.wordpress.com, @pacheikhcisse 30
HashMap<K,V>
Constructeurs
Papa Cheikh CISSE, http://pacheikh.wordpress.com, @pacheikhcisse
Les collections ->
Les collections de type Map
HashMap ()
HashMap (int initialCapacity)
HashMap (Map<? extends K, ? extends V> m)
Papa Cheikh CISSE, http://pacheikh.wordpress.com, @pacheikhcisse 31
HashMap<K,V>
Quelques méthodes
Papa Cheikh CISSE, http://pacheikh.wordpress.com, @pacheikhcisse
Les collections ->
Les collections de type Map
Papa Cheikh CISSE, http://pacheikh.wordpress.com, @pacheikhcisse
boolean containsKey(Object key)
boolean containsValue(Object value)
V get(Object key)
Set<K> keySet()
Collection<V> values()
V put(K key, V value)
void putAll(Map<? extends K,? extends V> m)
V remove(Object key)
32
HashMap<K,V>
Exemple
Papa Cheikh CISSE, http://pacheikh.wordpress.com, @pacheikhcisse
Les collections ->
Les collections de type Map
Papa Cheikh CISSE, http://pacheikh.wordpress.com, @pacheikhcisse 33
Papa Cheikh CISSE, http://pacheikh.wordpress.com, @pacheikhcisse
Les collections ->
Les collections de type Map
HashMap<K,V>
parcours
Papa Cheikh CISSE, http://pacheikh.wordpress.com, @pacheikhcisse 34
Papa Cheikh CISSE, http://pacheikh.wordpress.com, @pacheikhcisse
Les collections ->
Les collections de type Map
Exercice 3
Faire le parcours d’une HashMap avec
Iterator
Papa Cheikh CISSE, http://pacheikh.wordpress.com, @pacheikhcisse 35

Contenu connexe

Tendances

Mise en oeuvre des framework de machines et deep learning v1
Mise en oeuvre des framework de machines et deep learning v1 Mise en oeuvre des framework de machines et deep learning v1
Mise en oeuvre des framework de machines et deep learning v1
ENSET, Université Hassan II Casablanca
 

Tendances (20)

Support distributed computing and caching avec hazelcast
Support distributed computing and caching avec hazelcastSupport distributed computing and caching avec hazelcast
Support distributed computing and caching avec hazelcast
 
eServices-Tp1: Web Services
eServices-Tp1: Web ServiceseServices-Tp1: Web Services
eServices-Tp1: Web Services
 
softCours design pattern m youssfi partie 9 creation des objets abstract fact...
softCours design pattern m youssfi partie 9 creation des objets abstract fact...softCours design pattern m youssfi partie 9 creation des objets abstract fact...
softCours design pattern m youssfi partie 9 creation des objets abstract fact...
 
Architecture jee principe de inversion de controle et injection des dependances
Architecture jee principe de inversion de controle et injection des dependancesArchitecture jee principe de inversion de controle et injection des dependances
Architecture jee principe de inversion de controle et injection des dependances
 
Servlets et JSP
Servlets et JSPServlets et JSP
Servlets et JSP
 
Support programmation orientée aspect mohamed youssfi (aop)
Support programmation orientée aspect mohamed youssfi (aop)Support programmation orientée aspect mohamed youssfi (aop)
Support programmation orientée aspect mohamed youssfi (aop)
 
Cours php & Mysql - 1ére partie
Cours php & Mysql - 1ére partieCours php & Mysql - 1ére partie
Cours php & Mysql - 1ére partie
 
Support JEE Spring Inversion de Controle IOC et Spring MVC
Support JEE Spring Inversion de Controle IOC et Spring MVCSupport JEE Spring Inversion de Controle IOC et Spring MVC
Support JEE Spring Inversion de Controle IOC et Spring MVC
 
Tp3 - Application SOA avec BPEL
Tp3 - Application SOA avec BPELTp3 - Application SOA avec BPEL
Tp3 - Application SOA avec BPEL
 
Fondamentaux java
Fondamentaux javaFondamentaux java
Fondamentaux java
 
Présentation de JEE et de son écosysteme
Présentation de JEE et de son écosystemePrésentation de JEE et de son écosysteme
Présentation de JEE et de son écosysteme
 
Les Servlets et JSP
Les Servlets et JSPLes Servlets et JSP
Les Servlets et JSP
 
Design Pattern introduction
Design Pattern introductionDesign Pattern introduction
Design Pattern introduction
 
Modele mvc
Modele mvcModele mvc
Modele mvc
 
Mise en oeuvre des framework de machines et deep learning v1
Mise en oeuvre des framework de machines et deep learning v1 Mise en oeuvre des framework de machines et deep learning v1
Mise en oeuvre des framework de machines et deep learning v1
 
Support NodeJS avec TypeScript Express MongoDB
Support NodeJS avec TypeScript Express MongoDBSupport NodeJS avec TypeScript Express MongoDB
Support NodeJS avec TypeScript Express MongoDB
 
Tp2 - WS avec JAXRS
Tp2 - WS avec JAXRSTp2 - WS avec JAXRS
Tp2 - WS avec JAXRS
 
Introduction à Laravel
Introduction à LaravelIntroduction à Laravel
Introduction à Laravel
 
Mohamed youssfi support architectures logicielles distribuées basées sue les ...
Mohamed youssfi support architectures logicielles distribuées basées sue les ...Mohamed youssfi support architectures logicielles distribuées basées sue les ...
Mohamed youssfi support architectures logicielles distribuées basées sue les ...
 
Développement d'un site web jee de e commerce basé sur spring (m.youssfi)
Développement d'un site web jee de e commerce basé sur spring (m.youssfi)Développement d'un site web jee de e commerce basé sur spring (m.youssfi)
Développement d'un site web jee de e commerce basé sur spring (m.youssfi)
 

En vedette

Passive reporting 2
Passive reporting 2Passive reporting 2
Passive reporting 2
englishbites
 
Debutermatlab
DebutermatlabDebutermatlab
Debutermatlab
nejmzad
 
Traitement d'image
Traitement d'imageTraitement d'image
Traitement d'image
Anissa Teyeb
 
Guide pratique optimisation des stocks v1 0
Guide pratique optimisation des stocks v1 0Guide pratique optimisation des stocks v1 0
Guide pratique optimisation des stocks v1 0
mariatayssf
 
Uso de la TIC y el Maestro del Futuro
Uso de la TIC y el Maestro del FuturoUso de la TIC y el Maestro del Futuro
Uso de la TIC y el Maestro del Futuro
Jesus Parra
 
Etude du SNCD Email Marketing Attitude 2013 - Usages et tendances sur l'email...
Etude du SNCD Email Marketing Attitude 2013 - Usages et tendances sur l'email...Etude du SNCD Email Marketing Attitude 2013 - Usages et tendances sur l'email...
Etude du SNCD Email Marketing Attitude 2013 - Usages et tendances sur l'email...
Florence consultant
 
Lettre de Nicolas Sarkozy au peuple Français
Lettre de Nicolas Sarkozy au peuple FrançaisLettre de Nicolas Sarkozy au peuple Français
Lettre de Nicolas Sarkozy au peuple Français
Dominique Dord
 

En vedette (20)

Les nouveautés de asp.net mvc 3
Les nouveautés de asp.net mvc 3Les nouveautés de asp.net mvc 3
Les nouveautés de asp.net mvc 3
 
Passive reporting 2
Passive reporting 2Passive reporting 2
Passive reporting 2
 
Les collections en JAVA
Les collections en JAVALes collections en JAVA
Les collections en JAVA
 
Practice lesson 2
Practice lesson 2Practice lesson 2
Practice lesson 2
 
Debutermatlab
DebutermatlabDebutermatlab
Debutermatlab
 
Le Réseau et Java
Le Réseau et JavaLe Réseau et Java
Le Réseau et Java
 
Grammar rules
Grammar rulesGrammar rules
Grammar rules
 
Traitement d'image sous Matlab
Traitement d'image sous Matlab  Traitement d'image sous Matlab
Traitement d'image sous Matlab
 
TP1 Traitement d'images Génie Logiciel avec Matlab
TP1 Traitement d'images Génie Logiciel avec MatlabTP1 Traitement d'images Génie Logiciel avec Matlab
TP1 Traitement d'images Génie Logiciel avec Matlab
 
Introduction au traitement d'images
Introduction au traitement d'imagesIntroduction au traitement d'images
Introduction au traitement d'images
 
Traitement d'image
Traitement d'imageTraitement d'image
Traitement d'image
 
Alphorm.com Formation Excel 2016 Expert I - partie 1
Alphorm.com Formation Excel 2016 Expert I - partie 1Alphorm.com Formation Excel 2016 Expert I - partie 1
Alphorm.com Formation Excel 2016 Expert I - partie 1
 
Guide pratique optimisation des stocks v1 0
Guide pratique optimisation des stocks v1 0Guide pratique optimisation des stocks v1 0
Guide pratique optimisation des stocks v1 0
 
Formation traitement d_images
Formation traitement d_imagesFormation traitement d_images
Formation traitement d_images
 
Matlab
MatlabMatlab
Matlab
 
Uso de la TIC y el Maestro del Futuro
Uso de la TIC y el Maestro del FuturoUso de la TIC y el Maestro del Futuro
Uso de la TIC y el Maestro del Futuro
 
Etude du SNCD Email Marketing Attitude 2013 - Usages et tendances sur l'email...
Etude du SNCD Email Marketing Attitude 2013 - Usages et tendances sur l'email...Etude du SNCD Email Marketing Attitude 2013 - Usages et tendances sur l'email...
Etude du SNCD Email Marketing Attitude 2013 - Usages et tendances sur l'email...
 
Lettre de Nicolas Sarkozy au peuple Français
Lettre de Nicolas Sarkozy au peuple FrançaisLettre de Nicolas Sarkozy au peuple Français
Lettre de Nicolas Sarkozy au peuple Français
 
Verbesserung der Service Qualität durch Enterprise Feedback Management
Verbesserung der Service Qualität durch Enterprise Feedback ManagementVerbesserung der Service Qualität durch Enterprise Feedback Management
Verbesserung der Service Qualität durch Enterprise Feedback Management
 
Renovation studio par Instant T
Renovation studio par Instant TRenovation studio par Instant T
Renovation studio par Instant T
 

Plus de Papa Cheikh Cisse

Optimisation centralisée et distribuée de la durée de vie des réseaux de capt...
Optimisation centralisée et distribuée de la durée de vie des réseaux de capt...Optimisation centralisée et distribuée de la durée de vie des réseaux de capt...
Optimisation centralisée et distribuée de la durée de vie des réseaux de capt...
Papa Cheikh Cisse
 
Mise en place d'un système de messagerie sécurisée pour une PME/PMI
Mise en place d'un système de messagerie sécurisée pour une PME/PMIMise en place d'un système de messagerie sécurisée pour une PME/PMI
Mise en place d'un système de messagerie sécurisée pour une PME/PMI
Papa Cheikh Cisse
 

Plus de Papa Cheikh Cisse (10)

FINETECH SMS Banking
FINETECH SMS BankingFINETECH SMS Banking
FINETECH SMS Banking
 
Mise en place d'un système de messagerie sécurisée pour une PME/PMI
Mise en place d'un système de messagerie sécurisée pour une PME/PMIMise en place d'un système de messagerie sécurisée pour une PME/PMI
Mise en place d'un système de messagerie sécurisée pour une PME/PMI
 
Analyse de méthodes intelligentes de détection de fissures dans diverses stru...
Analyse de méthodes intelligentes de détection de fissures dans diverses stru...Analyse de méthodes intelligentes de détection de fissures dans diverses stru...
Analyse de méthodes intelligentes de détection de fissures dans diverses stru...
 
An overview of standards and related technology in web services
An overview of standards and related technology in web servicesAn overview of standards and related technology in web services
An overview of standards and related technology in web services
 
Optimisation centralisée et distribuée de la durée de vie des réseaux de capt...
Optimisation centralisée et distribuée de la durée de vie des réseaux de capt...Optimisation centralisée et distribuée de la durée de vie des réseaux de capt...
Optimisation centralisée et distribuée de la durée de vie des réseaux de capt...
 
Optimisation centralisée et distribuée de la durée de vie des réseaux de capt...
Optimisation centralisée et distribuée de la durée de vie des réseaux de capt...Optimisation centralisée et distribuée de la durée de vie des réseaux de capt...
Optimisation centralisée et distribuée de la durée de vie des réseaux de capt...
 
Cube based summaries of large association rule sets
Cube based summaries of large association rule setsCube based summaries of large association rule sets
Cube based summaries of large association rule sets
 
IP Multimedia Subsystem (IMS)
IP Multimedia Subsystem (IMS)IP Multimedia Subsystem (IMS)
IP Multimedia Subsystem (IMS)
 
Le projet PICSEL (Production d'Interfaces à base de Connaissance pour des Ser...
Le projet PICSEL (Production d'Interfaces à base de Connaissance pour des Ser...Le projet PICSEL (Production d'Interfaces à base de Connaissance pour des Ser...
Le projet PICSEL (Production d'Interfaces à base de Connaissance pour des Ser...
 
Mise en place d'un système de messagerie sécurisée pour une PME/PMI
Mise en place d'un système de messagerie sécurisée pour une PME/PMIMise en place d'un système de messagerie sécurisée pour une PME/PMI
Mise en place d'un système de messagerie sécurisée pour une PME/PMI
 

Dernier

Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptxCopie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
ikospam0
 
Bilan énergétique des chambres froides.pdf
Bilan énergétique des chambres froides.pdfBilan énergétique des chambres froides.pdf
Bilan énergétique des chambres froides.pdf
AmgdoulHatim
 

Dernier (20)

Apolonia, Apolonia.pptx Film documentaire
Apolonia, Apolonia.pptx         Film documentaireApolonia, Apolonia.pptx         Film documentaire
Apolonia, Apolonia.pptx Film documentaire
 
Conférence Sommet de la formation 2024 : Développer des compétences pour la m...
Conférence Sommet de la formation 2024 : Développer des compétences pour la m...Conférence Sommet de la formation 2024 : Développer des compétences pour la m...
Conférence Sommet de la formation 2024 : Développer des compétences pour la m...
 
les_infections_a_streptocoques.pptkioljhk
les_infections_a_streptocoques.pptkioljhkles_infections_a_streptocoques.pptkioljhk
les_infections_a_streptocoques.pptkioljhk
 
L'expression du but : fiche et exercices niveau C1 FLE
L'expression du but : fiche et exercices  niveau C1 FLEL'expression du but : fiche et exercices  niveau C1 FLE
L'expression du but : fiche et exercices niveau C1 FLE
 
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptxCopie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
 
STRATEGIE_D’APPRENTISSAGE flee_DU_FLE.pdf
STRATEGIE_D’APPRENTISSAGE flee_DU_FLE.pdfSTRATEGIE_D’APPRENTISSAGE flee_DU_FLE.pdf
STRATEGIE_D’APPRENTISSAGE flee_DU_FLE.pdf
 
Les roches magmatique géodynamique interne.pptx
Les roches magmatique géodynamique interne.pptxLes roches magmatique géodynamique interne.pptx
Les roches magmatique géodynamique interne.pptx
 
Intégration des TICE dans l'enseignement de la Physique-Chimie.pptx
Intégration des TICE dans l'enseignement de la Physique-Chimie.pptxIntégration des TICE dans l'enseignement de la Physique-Chimie.pptx
Intégration des TICE dans l'enseignement de la Physique-Chimie.pptx
 
Neuvaine de la Pentecôte avec des textes de saint Jean Eudes
Neuvaine de la Pentecôte avec des textes de saint Jean EudesNeuvaine de la Pentecôte avec des textes de saint Jean Eudes
Neuvaine de la Pentecôte avec des textes de saint Jean Eudes
 
Formation qhse - GIASE saqit_105135.pptx
Formation qhse - GIASE saqit_105135.pptxFormation qhse - GIASE saqit_105135.pptx
Formation qhse - GIASE saqit_105135.pptx
 
L application de la physique classique dans le golf.pptx
L application de la physique classique dans le golf.pptxL application de la physique classique dans le golf.pptx
L application de la physique classique dans le golf.pptx
 
La mondialisation avantages et inconvénients
La mondialisation avantages et inconvénientsLa mondialisation avantages et inconvénients
La mondialisation avantages et inconvénients
 
658708519-Power-Point-Management-Interculturel.pdf
658708519-Power-Point-Management-Interculturel.pdf658708519-Power-Point-Management-Interculturel.pdf
658708519-Power-Point-Management-Interculturel.pdf
 
Echos libraries Burkina Faso newsletter 2024
Echos libraries Burkina Faso newsletter 2024Echos libraries Burkina Faso newsletter 2024
Echos libraries Burkina Faso newsletter 2024
 
Cours Généralités sur les systèmes informatiques
Cours Généralités sur les systèmes informatiquesCours Généralités sur les systèmes informatiques
Cours Généralités sur les systèmes informatiques
 
CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...
CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...
CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...
 
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projet
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projetFormation échiquéenne jwhyCHESS, parallèle avec la planification de projet
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projet
 
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
 
Bilan énergétique des chambres froides.pdf
Bilan énergétique des chambres froides.pdfBilan énergétique des chambres froides.pdf
Bilan énergétique des chambres froides.pdf
 
Télécommunication et transport .pdfcours
Télécommunication et transport .pdfcoursTélécommunication et transport .pdfcours
Télécommunication et transport .pdfcours
 

Les collections en Java

  • 1. La programmation en Java Les collections MIT University M1 Génie Logiciel 2012- 2013 M. CISSE
  • 2. Plan 1. Définition d’une collection 2. Les collections de type Set 3. Les collections de type List 4. Les collections de type Map
  • 3. - Une collection est une structure de données permettant de regrouper un ensemble d’objets - Comme un tableau mais en mieux - La plupart des opérations sur un tableau (parcours, recherche, ajout, suppression, etc.) déjà implémentées - On parle de Java Collections Framework (JCF) - http://www.falkhausen.de/en/diagram/html/java.util.Collecti on.html Les collections -> Définition d’une collection Papa Cheikh CISSE, http://pacheikh.wordpress.com, @pacheikhcisse 3
  • 4. - Les collections de type Set - Les collections de type List - Les collections de type Map Les collections -> Définition d’une collection Papa Cheikh CISSE, http://pacheikh.wordpress.com, @pacheikhcisse 4
  • 5. - Interface java.util.Set<E> - Interface java.util.List<E> - Interface java.util.Map<E> Les collections -> Définition d’une collection Papa Cheikh CISSE, http://pacheikh.wordpress.com, @pacheikhcisse 5
  • 6. Aussi au sein du JCF : - Interface java.util.Iterator<E> Déclare des méthodes pour le parcours des collections Les collections -> Définition d’une collection boolean hasNext() E next() void remove() Papa Cheikh CISSE, http://pacheikh.wordpress.com, @pacheikhcisse 6
  • 7. Aussi au sein du JCF : - Interface java.util.ListIterator<E> qui hérite de java.util.Iterator<E> Déclare des méthodes pour le parcours des listes dans les deux sens et modifier les éléments de la liste Les collections -> Définition d’une collection void add(E e) boolean hasPrevious() int nextIndex() E previous() int previousIndex() void set(E e) Papa Cheikh CISSE, http://pacheikh.wordpress.com, @pacheikhcisse 7
  • 9. - Interface java.util.Set<E> - Représentation d’un ensemble (collection non ordonnée d’éléments) - Type de collection qui refuse les doublons - Classes HashSet<E>, TreeSet<E> Les collections -> Les collections de type Set Papa Cheikh CISSE, http://pacheikh.wordpress.com, @pacheikhcisse 9
  • 10. HashSet<E> - Classe java.util.HashSet<E> - Implémentation de java.util.Set<E> Les collections -> Les collections de type Set Papa Cheikh CISSE, http://pacheikh.wordpress.com, @pacheikhcisse 10
  • 11. Les collections -> Les collections de type Set HashSet<E> - Classe java permettant de créer et de manipuler un ensemble - plus simple que TreeSet<E> et LinkedHashSet<E> Papa Cheikh CISSE, http://pacheikh.wordpress.com, @pacheikhcisse 11
  • 12. Les collections -> Les collections de type Set HashSet<E> Méthodes de la classe java.util.HashSet<E> Papa Cheikh CISSE, http://pacheikh.wordpress.com, @pacheikhcisse 12
  • 13. HashSet<E> Exemple de manipulation d’un ensemble grâce à la collection java.util.HashSet<E> Les collections -> Les collections de type Set Papa Cheikh CISSE, http://pacheikh.wordpress.com, @pacheikhcisse 13
  • 14. HashSet<E> parcours Les collections -> Les collections de type Set Papa Cheikh CISSE, http://pacheikh.wordpress.com, @pacheikhcisse 14
  • 15. Exercice 1 En utilisant les HashSet, écrire un programme qui recueille des entiers positifs rentrés par l’utilisateur jusqu’à ce que celui ci renseigne une valeur négative. 1. Le programme envoie un avertissement lorsque la valeur rentrée existe déjà. 2. À l’entrée d’une valeur négative, vous parcourez la collection pour afficher ses éléments. Les collections -> Les collections de type Set 5 0 2 2 Existe déjà 4 5 Existe déjà -2 0 2 4 5 -2 Papa Cheikh CISSE, http://pacheikh.wordpress.com, @pacheikhcisse 15
  • 17. - java.util.List<E> - Collections ordonnées ou séquences - Permettent l’accès par indice - Autorisent les doublons - Classes ArrayList<E>, LinkedList<E> Papa Cheikh CISSE, http://pacheikh.wordpress.com, @pacheikhcisse Les collections -> Les collections de type List Papa Cheikh CISSE, http://pacheikh.wordpress.com, @pacheikhcisse 17
  • 18. ArrayList<E> - Classe java.util.ArrayList<E> - Implémentation de java.util.List<E> - Tableau d’objets de taille dynamique - on peut accéder à un élément du ArrayList par son index Papa Cheikh CISSE, http://pacheikh.wordpress.com, @pacheikhcisse Les collections -> Les collections de type List Papa Cheikh CISSE, http://pacheikh.wordpress.com, @pacheikhcisse 18
  • 19. ArrayList<E> - Constructeurs Papa Cheikh CISSE, http://pacheikh.wordpress.com, @pacheikhcisse Les collections -> Les collections de type List Papa Cheikh CISSE, http://pacheikh.wordpress.com, @pacheikhcisse 19
  • 20. ArrayList<E> - Quelques méthodes Papa Cheikh CISSE, http://pacheikh.wordpress.com, @pacheikhcisse Les collections -> Les collections de type List void add(int index, E element) void addAll(int index, Collection<? extends E> c) E get(int index) int lastIndexOf(Object o) E remove(int index) E set(int index, E element) Object[] toArray() Papa Cheikh CISSE, http://pacheikh.wordpress.com, @pacheikhcisse 20
  • 21. Papa Cheikh CISSE, http://pacheikh.wordpress.com, @pacheikhcisse Les collections -> Les collections de type List ArrayList<E> exemple Papa Cheikh CISSE, http://pacheikh.wordpress.com, @pacheikhcisse 21
  • 22. Papa Cheikh CISSE, http://pacheikh.wordpress.com, @pacheikhcisse Les collections -> Les collections de type List ArrayList<E> parcours Papa Cheikh CISSE, http://pacheikh.wordpress.com, @pacheikhcisse 22
  • 23. LinkedList<E> - Classe java.util.LinkedList<E> - Implémentation de java.util.List<E> - Collection permettant de représenter des listes chainées - Liste dont chaque élément contient une référence vers le suivant Papa Cheikh CISSE, http://pacheikh.wordpress.com, @pacheikhcisse Les collections -> Les collections de type List Papa Cheikh CISSE, http://pacheikh.wordpress.com, @pacheikhcisse 23
  • 24. Papa Cheikh CISSE, http://pacheikh.wordpress.com, @pacheikhcisse Les collections -> Les collections de type List LinkedList<E> Constructeurs Papa Cheikh CISSE, http://pacheikh.wordpress.com, @pacheikhcisse 24
  • 25. Papa Cheikh CISSE, http://pacheikh.wordpress.com, @pacheikhcisse Les collections -> Les collections de type List LinkedList<E> Quelques méthodes void addFirst(Object o) void add(int index, E element) Object getFirst() Object get(int index) Object set(int index, E element) Papa Cheikh CISSE, http://pacheikh.wordpress.com, @pacheikhcisse 25
  • 26. Papa Cheikh CISSE, http://pacheikh.wordpress.com, @pacheikhcisse Les collections -> Les collections de type List LinkedList<E> exemple Papa Cheikh CISSE, http://pacheikh.wordpress.com, @pacheikhcisse 26
  • 27. Papa Cheikh CISSE, http://pacheikh.wordpress.com, @pacheikhcisse Les collections -> Les collections de type List LinkedList<E> - parcours Papa Cheikh CISSE, http://pacheikh.wordpress.com, @pacheikhcisse 27
  • 28. Papa Cheikh CISSE, http://pacheikh.wordpress.com, @pacheikhcisse Les collections -> Les collections de type List Papa Cheikh CISSE, http://pacheikh.wordpress.com, @pacheikhcisse Exercice 2 En utilisant les List (ArrayList<E> ou LinkedList<E>), écrire un programme Miroir.java qui recueille des chaines de caractères rentrées par l’utilisateur jusqu’à ce que celui ci renseigne la chaine "FIN". À l’entrée de "FIN", vous parcourez la collection pour afficher ses éléments mais à l’inverse. Engage le jeu que je le gagne FIN gagne le je que jeu le Engage 28
  • 30. - java.util.Map<K,V> - Type de collection qui associe une clé unique de type K à une valeur de type V - Chaque clé ne peut correspondre qu’à une valeur au plus - Classe HashMap<K,V> Papa Cheikh CISSE, http://pacheikh.wordpress.com, @pacheikhcisse Les collections -> Les collections de type Map Papa Cheikh CISSE, http://pacheikh.wordpress.com, @pacheikhcisse 30
  • 31. HashMap<K,V> Constructeurs Papa Cheikh CISSE, http://pacheikh.wordpress.com, @pacheikhcisse Les collections -> Les collections de type Map HashMap () HashMap (int initialCapacity) HashMap (Map<? extends K, ? extends V> m) Papa Cheikh CISSE, http://pacheikh.wordpress.com, @pacheikhcisse 31
  • 32. HashMap<K,V> Quelques méthodes Papa Cheikh CISSE, http://pacheikh.wordpress.com, @pacheikhcisse Les collections -> Les collections de type Map Papa Cheikh CISSE, http://pacheikh.wordpress.com, @pacheikhcisse boolean containsKey(Object key) boolean containsValue(Object value) V get(Object key) Set<K> keySet() Collection<V> values() V put(K key, V value) void putAll(Map<? extends K,? extends V> m) V remove(Object key) 32
  • 33. HashMap<K,V> Exemple Papa Cheikh CISSE, http://pacheikh.wordpress.com, @pacheikhcisse Les collections -> Les collections de type Map Papa Cheikh CISSE, http://pacheikh.wordpress.com, @pacheikhcisse 33
  • 34. Papa Cheikh CISSE, http://pacheikh.wordpress.com, @pacheikhcisse Les collections -> Les collections de type Map HashMap<K,V> parcours Papa Cheikh CISSE, http://pacheikh.wordpress.com, @pacheikhcisse 34
  • 35. Papa Cheikh CISSE, http://pacheikh.wordpress.com, @pacheikhcisse Les collections -> Les collections de type Map Exercice 3 Faire le parcours d’une HashMap avec Iterator Papa Cheikh CISSE, http://pacheikh.wordpress.com, @pacheikhcisse 35