SlideShare una empresa de Scribd logo
1 de 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

Más contenido relacionado

La actualidad más candente

Introduction à React JS
Introduction à React JSIntroduction à React JS
Introduction à React JSAbdoulaye Dieng
 
Application web php5 html5 css3 bootstrap
Application web php5 html5 css3 bootstrapApplication web php5 html5 css3 bootstrap
Application web php5 html5 css3 bootstrapBassem ABCHA
 
Java 8 - collections et stream
Java 8 - collections et streamJava 8 - collections et stream
Java 8 - collections et streamFranck SIMON
 
Fondamentaux java
Fondamentaux javaFondamentaux java
Fondamentaux javaInes Ouaz
 
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)ENSET, Université Hassan II Casablanca
 
Chapitre 6 traitement des exceptions
Chapitre 6  traitement des exceptionsChapitre 6  traitement des exceptions
Chapitre 6 traitement des exceptionsAmir Souissi
 
Workshop spring session 2 - La persistance au sein des applications Java
Workshop spring   session 2 - La persistance au sein des applications JavaWorkshop spring   session 2 - La persistance au sein des applications Java
Workshop spring session 2 - La persistance au sein des applications JavaAntoine Rey
 
Introduction à spring boot
Introduction à spring bootIntroduction à spring boot
Introduction à spring bootAntoine Rey
 
Chapitre 4 heritage et polymorphisme
Chapitre 4 heritage et polymorphismeChapitre 4 heritage et polymorphisme
Chapitre 4 heritage et polymorphismeAmir Souissi
 
Architecture java j2 ee a partager
Architecture java j2 ee a partagerArchitecture java j2 ee a partager
Architecture java j2 ee a partageraliagadir
 
Chapitre8: Collections et Enumerations En Java
Chapitre8: Collections et Enumerations En JavaChapitre8: Collections et Enumerations En Java
Chapitre8: Collections et Enumerations En JavaAziz Darouichi
 

La actualidad más candente (20)

Support NodeJS avec TypeScript Express MongoDB
Support NodeJS avec TypeScript Express MongoDBSupport NodeJS avec TypeScript Express MongoDB
Support NodeJS avec TypeScript Express MongoDB
 
Introduction à React JS
Introduction à React JSIntroduction à React JS
Introduction à React JS
 
Support de cours Spring M.youssfi
Support de cours Spring  M.youssfiSupport de cours Spring  M.youssfi
Support de cours Spring M.youssfi
 
Application web php5 html5 css3 bootstrap
Application web php5 html5 css3 bootstrapApplication web php5 html5 css3 bootstrap
Application web php5 html5 css3 bootstrap
 
Java 8 - collections et stream
Java 8 - collections et streamJava 8 - collections et stream
Java 8 - collections et stream
 
Support programmation orientée objet c# .net version f8
Support programmation orientée objet c#  .net version f8Support programmation orientée objet c#  .net version f8
Support programmation orientée objet c# .net version f8
 
Fondamentaux java
Fondamentaux javaFondamentaux java
Fondamentaux java
 
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)
 
Chapitre 6 traitement des exceptions
Chapitre 6  traitement des exceptionsChapitre 6  traitement des exceptions
Chapitre 6 traitement des exceptions
 
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)
 
Workshop spring session 2 - La persistance au sein des applications Java
Workshop spring   session 2 - La persistance au sein des applications JavaWorkshop spring   session 2 - La persistance au sein des applications Java
Workshop spring session 2 - La persistance au sein des applications Java
 
Introduction à spring boot
Introduction à spring bootIntroduction à spring boot
Introduction à spring boot
 
Spring ioc
Spring iocSpring ioc
Spring ioc
 
Chapitre 4 heritage et polymorphisme
Chapitre 4 heritage et polymorphismeChapitre 4 heritage et polymorphisme
Chapitre 4 heritage et polymorphisme
 
Support POO Java Deuxième Partie
Support POO Java Deuxième PartieSupport POO Java Deuxième Partie
Support POO Java Deuxième Partie
 
Architecture java j2 ee a partager
Architecture java j2 ee a partagerArchitecture java j2 ee a partager
Architecture java j2 ee a partager
 
Langage C#
Langage C#Langage C#
Langage C#
 
Chapitre8: Collections et Enumerations En Java
Chapitre8: Collections et Enumerations En JavaChapitre8: Collections et Enumerations En Java
Chapitre8: Collections et Enumerations En Java
 
Apache Maven 3
Apache Maven 3Apache Maven 3
Apache Maven 3
 
Support de cours angular
Support de cours angularSupport de cours angular
Support de cours angular
 

Destacado

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 3Jerome 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 JAVAAxel KAMALAK
 
Debutermatlab
DebutermatlabDebutermatlab
Debutermatlabnejmzad
 
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 MatlabMariem ZAOUALI
 
Introduction au traitement d'images
Introduction au traitement d'imagesIntroduction au traitement d'images
Introduction au traitement d'imagesAbdelouahed 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 1Alphorm
 
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 FuturoJesus 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 ManagementSpectos GmbH
 
Renovation studio par Instant T
Renovation studio par Instant TRenovation studio par Instant T
Renovation studio par Instant Tle75020
 

Destacado (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
 

Más 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/PMIPapa 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 servicesPapa 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 setsPapa 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
 

Más 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
 

Último

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 ...Universidad Complutense de Madrid
 
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...Nguyen Thanh Tu Collection
 
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 EudesUnidad de Espiritualidad Eudista
 
Apolonia, Apolonia.pptx Film documentaire
Apolonia, Apolonia.pptx         Film documentaireApolonia, Apolonia.pptx         Film documentaire
Apolonia, Apolonia.pptx Film documentaireTxaruka
 
Télécommunication et transport .pdfcours
Télécommunication et transport .pdfcoursTélécommunication et transport .pdfcours
Télécommunication et transport .pdfcourshalima98ahlmohamed
 
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 FLElebaobabbleu
 
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.pptxikospam0
 
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.pptxabdououanighd
 
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 projetJeanYvesMoine
 
python-Cours Officiel POO Python-m103.pdf
python-Cours Officiel POO Python-m103.pdfpython-Cours Officiel POO Python-m103.pdf
python-Cours Officiel POO Python-m103.pdftrendingv83
 
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 informatiquesMohammedAmineHatoch
 
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.pptxhamzagame
 
les_infections_a_streptocoques.pptkioljhk
les_infections_a_streptocoques.pptkioljhkles_infections_a_streptocoques.pptkioljhk
les_infections_a_streptocoques.pptkioljhkRefRama
 
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.pdfAmgdoulHatim
 
RAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANK
RAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANKRAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANK
RAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANKNassimaMdh
 

Último (16)

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 ...
 
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...
 
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
 
Apolonia, Apolonia.pptx Film documentaire
Apolonia, Apolonia.pptx         Film documentaireApolonia, Apolonia.pptx         Film documentaire
Apolonia, Apolonia.pptx Film documentaire
 
Télécommunication et transport .pdfcours
Télécommunication et transport .pdfcoursTélécommunication et transport .pdfcours
Télécommunication et transport .pdfcours
 
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
 
Echos libraries Burkina Faso newsletter 2024
Echos libraries Burkina Faso newsletter 2024Echos libraries Burkina Faso newsletter 2024
Echos libraries Burkina Faso newsletter 2024
 
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
 
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
 
python-Cours Officiel POO Python-m103.pdf
python-Cours Officiel POO Python-m103.pdfpython-Cours Officiel POO Python-m103.pdf
python-Cours Officiel POO Python-m103.pdf
 
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
 
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
 
les_infections_a_streptocoques.pptkioljhk
les_infections_a_streptocoques.pptkioljhkles_infections_a_streptocoques.pptkioljhk
les_infections_a_streptocoques.pptkioljhk
 
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
 
RAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANK
RAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANKRAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANK
RAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANK
 

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