SlideShare une entreprise Scribd logo
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

Support de cours Spring M.youssfi
Support de cours Spring  M.youssfiSupport de cours Spring  M.youssfi
Support de cours Spring M.youssfi
ENSET, Université Hassan II Casablanca
 
Concevoir, développer et sécuriser des micro-services avec Spring Boot
Concevoir, développer et sécuriser des micro-services avec Spring BootConcevoir, développer et sécuriser des micro-services avec Spring Boot
Concevoir, développer et sécuriser des micro-services avec Spring Boot
DNG Consulting
 
Support Java Avancé Troisième Partie
Support Java Avancé Troisième PartieSupport Java Avancé Troisième Partie
Support Java Avancé Troisième Partie
ENSET, Université Hassan II Casablanca
 
Application Spring MVC/IOC & Hibernate
Application Spring MVC/IOC & HibernateApplication Spring MVC/IOC & Hibernate
Application Spring MVC/IOC & Hibernate
Ines Ouaz
 
Support POO Java Deuxième Partie
Support POO Java Deuxième PartieSupport POO Java Deuxième Partie
Support POO Java Deuxième Partie
ENSET, Université Hassan II Casablanca
 
Nouveautés de java 8
Nouveautés de java 8Nouveautés de java 8
Nouveautés de java 8
Florian Beaufumé
 
POO Java Introduction
POO Java IntroductionPOO Java Introduction
POO Java Introduction
Mouna Torjmen
 
La gestion des exceptions avec Java
La gestion des exceptions avec JavaLa gestion des exceptions avec Java
La gestion des exceptions avec Java
Papa Cheikh Cisse
 
Chap 6 : classes et interfaces
Chap 6 : classes et interfacesChap 6 : classes et interfaces
Chap 6 : classes et interfaces
Aziz Darouichi
 
Formation jpa-hibernate-spring-data
Formation jpa-hibernate-spring-dataFormation jpa-hibernate-spring-data
Formation jpa-hibernate-spring-data
Lhouceine OUHAMZA
 
Fondamentaux java
Fondamentaux javaFondamentaux java
Fondamentaux java
Ines Ouaz
 
Tp1 - Initiation à Java-Eclipse
Tp1 - Initiation à Java-EclipseTp1 - Initiation à Java-Eclipse
Tp1 - Initiation à Java-Eclipse
Lilia Sfaxi
 
Stockage de données dans Android : Fichiers
Stockage de données dans Android : FichiersStockage de données dans Android : Fichiers
Stockage de données dans Android : Fichiers
Lilia Sfaxi
 
POO Java Chapitre 4 Heritage et Polymorphisme
POO Java Chapitre 4 Heritage et PolymorphismePOO Java Chapitre 4 Heritage et Polymorphisme
POO Java Chapitre 4 Heritage et Polymorphisme
Mouna Torjmen
 
Spring boot anane maryem ben aziza syrine
Spring boot anane maryem ben aziza syrineSpring boot anane maryem ben aziza syrine
Spring boot anane maryem ben aziza syrine
Syrine Ben aziza
 
Chapitre 5 classes abstraites et interfaces
Chapitre 5  classes abstraites et interfacesChapitre 5  classes abstraites et interfaces
Chapitre 5 classes abstraites et interfaces
Amir Souissi
 
Les Streams de Java 8
Les Streams de Java 8Les Streams de Java 8
Les Streams de Java 8
Antoine Rey
 
Android-Tp5 : web services
Android-Tp5 : web servicesAndroid-Tp5 : web services
Android-Tp5 : web services
Lilia Sfaxi
 
Cours design pattern m youssfi partie 1 introduction et pattern strategy
Cours design pattern m youssfi partie 1 introduction et pattern strategyCours design pattern m youssfi partie 1 introduction et pattern strategy
Cours design pattern m youssfi partie 1 introduction et pattern strategy
ENSET, Université Hassan II Casablanca
 

Tendances (20)

Support de cours Spring M.youssfi
Support de cours Spring  M.youssfiSupport de cours Spring  M.youssfi
Support de cours Spring M.youssfi
 
Concevoir, développer et sécuriser des micro-services avec Spring Boot
Concevoir, développer et sécuriser des micro-services avec Spring BootConcevoir, développer et sécuriser des micro-services avec Spring Boot
Concevoir, développer et sécuriser des micro-services avec Spring Boot
 
Support Java Avancé Troisième Partie
Support Java Avancé Troisième PartieSupport Java Avancé Troisième Partie
Support Java Avancé Troisième Partie
 
Application Spring MVC/IOC & Hibernate
Application Spring MVC/IOC & HibernateApplication Spring MVC/IOC & Hibernate
Application Spring MVC/IOC & Hibernate
 
Spring security
Spring securitySpring security
Spring security
 
Support POO Java Deuxième Partie
Support POO Java Deuxième PartieSupport POO Java Deuxième Partie
Support POO Java Deuxième Partie
 
Nouveautés de java 8
Nouveautés de java 8Nouveautés de java 8
Nouveautés de java 8
 
POO Java Introduction
POO Java IntroductionPOO Java Introduction
POO Java Introduction
 
La gestion des exceptions avec Java
La gestion des exceptions avec JavaLa gestion des exceptions avec Java
La gestion des exceptions avec Java
 
Chap 6 : classes et interfaces
Chap 6 : classes et interfacesChap 6 : classes et interfaces
Chap 6 : classes et interfaces
 
Formation jpa-hibernate-spring-data
Formation jpa-hibernate-spring-dataFormation jpa-hibernate-spring-data
Formation jpa-hibernate-spring-data
 
Fondamentaux java
Fondamentaux javaFondamentaux java
Fondamentaux java
 
Tp1 - Initiation à Java-Eclipse
Tp1 - Initiation à Java-EclipseTp1 - Initiation à Java-Eclipse
Tp1 - Initiation à Java-Eclipse
 
Stockage de données dans Android : Fichiers
Stockage de données dans Android : FichiersStockage de données dans Android : Fichiers
Stockage de données dans Android : Fichiers
 
POO Java Chapitre 4 Heritage et Polymorphisme
POO Java Chapitre 4 Heritage et PolymorphismePOO Java Chapitre 4 Heritage et Polymorphisme
POO Java Chapitre 4 Heritage et Polymorphisme
 
Spring boot anane maryem ben aziza syrine
Spring boot anane maryem ben aziza syrineSpring boot anane maryem ben aziza syrine
Spring boot anane maryem ben aziza syrine
 
Chapitre 5 classes abstraites et interfaces
Chapitre 5  classes abstraites et interfacesChapitre 5  classes abstraites et interfaces
Chapitre 5 classes abstraites et interfaces
 
Les Streams de Java 8
Les Streams de Java 8Les Streams de Java 8
Les Streams de Java 8
 
Android-Tp5 : web services
Android-Tp5 : web servicesAndroid-Tp5 : web services
Android-Tp5 : web services
 
Cours design pattern m youssfi partie 1 introduction et pattern strategy
Cours design pattern m youssfi partie 1 introduction et pattern strategyCours design pattern m youssfi partie 1 introduction et pattern strategy
Cours design pattern m youssfi partie 1 introduction et pattern strategy
 

En vedette

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
Jerome Hugon
 
Passive reporting 2
Passive reporting 2Passive reporting 2
Passive reporting 2englishbites
 
Les collections en JAVA
Les collections en JAVALes collections en JAVA
Les collections en JAVA
Axel KAMALAK
 
Practice lesson 2
Practice lesson 2Practice lesson 2
Debutermatlab
DebutermatlabDebutermatlab
Debutermatlabnejmzad
 
Le Réseau et Java
Le Réseau et JavaLe Réseau et Java
Le Réseau et Java
Korteby Farouk
 
Grammar rules
Grammar rulesGrammar rules
Grammar rules
David Hoang
 
Traitement d'image sous Matlab
Traitement d'image sous Matlab  Traitement d'image sous Matlab
Traitement d'image sous Matlab
Hajer Dahech
 
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
Mariem ZAOUALI
 
Introduction au traitement d'images
Introduction au traitement d'imagesIntroduction au traitement d'images
Introduction au traitement d'images
Abdelouahed Abdou
 
Traitement d'image
Traitement d'imageTraitement d'image
Traitement d'imageAnissa Teyeb
 
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
Alphorm
 
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 0mariatayssf
 
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çaisDominique Dord
 
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
Spectos GmbH
 
Renovation studio par Instant T
Renovation studio par Instant TRenovation studio par Instant T
Renovation studio par Instant T
le75020
 

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

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
 
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...
Papa Cheikh Cisse
 
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
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
 
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
 
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
Papa Cheikh Cisse
 
IP Multimedia Subsystem (IMS)
IP Multimedia Subsystem (IMS)IP Multimedia Subsystem (IMS)
IP Multimedia Subsystem (IMS)
Papa Cheikh Cisse
 
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...
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/PMIPapa 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

Conseils pour Les Jeunes | Conseils de La Vie| Conseil de La Jeunesse
Conseils pour Les Jeunes | Conseils de La Vie| Conseil de La JeunesseConseils pour Les Jeunes | Conseils de La Vie| Conseil de La Jeunesse
Conseils pour Les Jeunes | Conseils de La Vie| Conseil de La Jeunesse
Oscar Smith
 
Impact des Critères Environnementaux, Sociaux et de Gouvernance (ESG) sur les...
Impact des Critères Environnementaux, Sociaux et de Gouvernance (ESG) sur les...Impact des Critères Environnementaux, Sociaux et de Gouvernance (ESG) sur les...
Impact des Critères Environnementaux, Sociaux et de Gouvernance (ESG) sur les...
mrelmejri
 
Iris van Herpen. pptx
Iris         van        Herpen.      pptxIris         van        Herpen.      pptx
Iris van Herpen. pptx
Txaruka
 
Cycle de Formation Théâtrale 2024 / 2025
Cycle de Formation Théâtrale 2024 / 2025Cycle de Formation Théâtrale 2024 / 2025
Cycle de Formation Théâtrale 2024 / 2025
Billy DEYLORD
 
Newsletter SPW Agriculture en province du Luxembourg du 12-06-24
Newsletter SPW Agriculture en province du Luxembourg du 12-06-24Newsletter SPW Agriculture en province du Luxembourg du 12-06-24
Newsletter SPW Agriculture en province du Luxembourg du 12-06-24
BenotGeorges3
 
Procédure consignation Lock Out Tag Out.pptx
Procédure consignation  Lock Out Tag Out.pptxProcédure consignation  Lock Out Tag Out.pptx
Procédure consignation Lock Out Tag Out.pptx
caggoune66
 
Edito-B1-francais Manuel to learning.pdf
Edito-B1-francais Manuel to learning.pdfEdito-B1-francais Manuel to learning.pdf
Edito-B1-francais Manuel to learning.pdf
WarlockeTamagafk
 
Formation Intelligence Artificielle pour dirigeants- IT6-DIGITALIX 24_opt OK_...
Formation Intelligence Artificielle pour dirigeants- IT6-DIGITALIX 24_opt OK_...Formation Intelligence Artificielle pour dirigeants- IT6-DIGITALIX 24_opt OK_...
Formation Intelligence Artificielle pour dirigeants- IT6-DIGITALIX 24_opt OK_...
cristionobedi
 
Burkina Faso library newsletter May 2024
Burkina Faso library newsletter May 2024Burkina Faso library newsletter May 2024
Burkina Faso library newsletter May 2024
Friends of African Village Libraries
 
Iris van Herpen. pptx
Iris         van         Herpen.      pptxIris         van         Herpen.      pptx
Iris van Herpen. pptx
Txaruka
 
Iris van Herpen. pptx
Iris            van        Herpen.     pptxIris            van        Herpen.     pptx
Iris van Herpen. pptx
Txaruka
 
Formation M2i - Onboarding réussi - les clés pour intégrer efficacement vos n...
Formation M2i - Onboarding réussi - les clés pour intégrer efficacement vos n...Formation M2i - Onboarding réussi - les clés pour intégrer efficacement vos n...
Formation M2i - Onboarding réussi - les clés pour intégrer efficacement vos n...
M2i Formation
 

Dernier (12)

Conseils pour Les Jeunes | Conseils de La Vie| Conseil de La Jeunesse
Conseils pour Les Jeunes | Conseils de La Vie| Conseil de La JeunesseConseils pour Les Jeunes | Conseils de La Vie| Conseil de La Jeunesse
Conseils pour Les Jeunes | Conseils de La Vie| Conseil de La Jeunesse
 
Impact des Critères Environnementaux, Sociaux et de Gouvernance (ESG) sur les...
Impact des Critères Environnementaux, Sociaux et de Gouvernance (ESG) sur les...Impact des Critères Environnementaux, Sociaux et de Gouvernance (ESG) sur les...
Impact des Critères Environnementaux, Sociaux et de Gouvernance (ESG) sur les...
 
Iris van Herpen. pptx
Iris         van        Herpen.      pptxIris         van        Herpen.      pptx
Iris van Herpen. pptx
 
Cycle de Formation Théâtrale 2024 / 2025
Cycle de Formation Théâtrale 2024 / 2025Cycle de Formation Théâtrale 2024 / 2025
Cycle de Formation Théâtrale 2024 / 2025
 
Newsletter SPW Agriculture en province du Luxembourg du 12-06-24
Newsletter SPW Agriculture en province du Luxembourg du 12-06-24Newsletter SPW Agriculture en province du Luxembourg du 12-06-24
Newsletter SPW Agriculture en province du Luxembourg du 12-06-24
 
Procédure consignation Lock Out Tag Out.pptx
Procédure consignation  Lock Out Tag Out.pptxProcédure consignation  Lock Out Tag Out.pptx
Procédure consignation Lock Out Tag Out.pptx
 
Edito-B1-francais Manuel to learning.pdf
Edito-B1-francais Manuel to learning.pdfEdito-B1-francais Manuel to learning.pdf
Edito-B1-francais Manuel to learning.pdf
 
Formation Intelligence Artificielle pour dirigeants- IT6-DIGITALIX 24_opt OK_...
Formation Intelligence Artificielle pour dirigeants- IT6-DIGITALIX 24_opt OK_...Formation Intelligence Artificielle pour dirigeants- IT6-DIGITALIX 24_opt OK_...
Formation Intelligence Artificielle pour dirigeants- IT6-DIGITALIX 24_opt OK_...
 
Burkina Faso library newsletter May 2024
Burkina Faso library newsletter May 2024Burkina Faso library newsletter May 2024
Burkina Faso library newsletter May 2024
 
Iris van Herpen. pptx
Iris         van         Herpen.      pptxIris         van         Herpen.      pptx
Iris van Herpen. pptx
 
Iris van Herpen. pptx
Iris            van        Herpen.     pptxIris            van        Herpen.     pptx
Iris van Herpen. pptx
 
Formation M2i - Onboarding réussi - les clés pour intégrer efficacement vos n...
Formation M2i - Onboarding réussi - les clés pour intégrer efficacement vos n...Formation M2i - Onboarding réussi - les clés pour intégrer efficacement vos n...
Formation M2i - Onboarding réussi - les clés pour intégrer efficacement vos n...
 

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