Académique Documents
Professionnel Documents
Culture Documents
2
MAP
3
MAP: Définition
● Une map est une collection qui associe une clé à une valeur ( Map<K,V> ). La clé
est unique, contrairement à la valeur qui peut être associée à plusieurs clés.
● L'interface Map stocke les pairs clé et sa valeur dans une table de hachage.
4
MAP: Définition
6
HashMap
7
Définition
8
Exemple
9
TreeMap
10
Définition
● La classe TreeMap, ajoutée à Java 1.2, est une Map qui stocke des éléments de
manière triée.
● Les éléments de la collection sont triés selon l'ordre naturel de leur clé (s'ils
implémentent l'interface Comparable) ou en utilisant une instance de type
Comparator fournie au constructeur de la collection.
12
Exemple 2
Depuis que TreeMap et TreeSet conservent les clés / éléments en fonction de leur
ordre naturel . Les clés TreeMap et les éléments TreeSet doivent donc être
comparables.
SOLUTION 1
13
Exemple 2
Une autre solution consiste à fournir à TreeSet un comparateur :
SOLUTION 2
14
Interface MAP
15
Map.Entry<K,V>
16
Parcours et récupération des données
● keySet(): qui retourne une collection de type Set<K> lorsque "K" est le type de la clé
de notre Map<K, V>.
● entrySet(): qui retourne elle aussi une implémentation de l'interface Set, mais de type
différent. La collection retournée sera définie ainsi Set<Entry<K, V>>. Ce sera donc
une collection d'objets qui contiendra tous les couples clé - valeur de notre Map
18
HashCode: Définition
La méthode hashcode() est utilisé pour générer une valeur de code de hachage pour
un objet et cette valeur de code de hachage est utilisée par certaines classes de
collection pour comparer des objets, ce qui augmente les performances des grandes
collections d’objets.
19
HashCode: Exemple
@Override
return result;
→ L’utilisation de 31 comme hash est juste pour assurer que la valeur du hashcode sera différent pour
chaque objet. Vous devez calculer le hachage pour différents membres et renvoyer le total sous forme de
code de hachage unique.
20
Comparaison
21
Utiliser LIST, SET ou MAP ?
● Si vous ne souhaitez pas que les valeurs soient dupliquées dans la base de données,
Set doit être votre premier choix, car toutes ses classes n’autorisent pas les
doublons.
● Si des opérations de recherche fréquentes basées sur les valeurs d’index sont
nécessaires, alors List (ArrayList) constitue un meilleur choix.
● S’il est nécessaire de maintenir l’ordre d’insertion, List est également préférée.
23
Merci pour votre attention
24