Clé particulière d'une hashmap
Résolu/Fermé
SabrineH
Messages postés
23
Date d'inscription
mardi 14 juin 2016
Statut
Membre
Dernière intervention
8 février 2017
-
8 juil. 2016 à 11:36
SabrineH Messages postés 23 Date d'inscription mardi 14 juin 2016 Statut Membre Dernière intervention 8 février 2017 - 11 juil. 2016 à 12:25
SabrineH Messages postés 23 Date d'inscription mardi 14 juin 2016 Statut Membre Dernière intervention 8 février 2017 - 11 juil. 2016 à 12:25
A voir également:
- Clé particulière d'une hashmap
- Clé windows 10 gratuit - Guide
- Clé usb non détectée - Guide
- Clé bootable windows 10 - Guide
- Clé usb 2to vrai ou faux - Accueil - Stockage
- Cle hdmi tv - Guide
1 réponse
KX
Messages postés
16754
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 020
8 juil. 2016 à 19:24
8 juil. 2016 à 19:24
Bonjour,
hashMap.containsKey(key) fait 'affaire, mais il me semble qu'elle est relativement lente, à fortiori qu'elle parcours toute la Hashmap jusqu'à trouver la clé.
Pas du tout, grâce au mécanisme de hachage (d'où le nom HashMap), l'accès à cette clé se fait en O(1), c'est le mieux que l'on sache faire pour un ensemble quelconque de clés.
vérifier si la dernière ou avant dernière clé est bien ce que je cherche
La notion d'ordre (première, dernière...) n'a pas de sens dans une Map (sauf les SortedMap mais ce n'est pas le cas de HashMap) parce que la position des clés peut être assez chaotique (c'est le but) afin d'éviter les collisions.
y a-t-il un moyen plus rapide que containsKey pour accéder à ce champ ?
Non, cette méthode est dédiée à ce cas d'utilisation, s'il y avait plus rapide ils l'auraient directement mis dans cette méthode.
Par contre si après tu utilises à nouveau la clé pour faire un get alors on peut se passer du contains et faire le get directement (il faudra juste contrôler que le résultat n'est pas null)
hashMap.containsKey(key) fait 'affaire, mais il me semble qu'elle est relativement lente, à fortiori qu'elle parcours toute la Hashmap jusqu'à trouver la clé.
Pas du tout, grâce au mécanisme de hachage (d'où le nom HashMap), l'accès à cette clé se fait en O(1), c'est le mieux que l'on sache faire pour un ensemble quelconque de clés.
vérifier si la dernière ou avant dernière clé est bien ce que je cherche
La notion d'ordre (première, dernière...) n'a pas de sens dans une Map (sauf les SortedMap mais ce n'est pas le cas de HashMap) parce que la position des clés peut être assez chaotique (c'est le but) afin d'éviter les collisions.
y a-t-il un moyen plus rapide que containsKey pour accéder à ce champ ?
Non, cette méthode est dédiée à ce cas d'utilisation, s'il y avait plus rapide ils l'auraient directement mis dans cette méthode.
Par contre si après tu utilises à nouveau la clé pour faire un get alors on peut se passer du contains et faire le get directement (il faudra juste contrôler que le résultat n'est pas null)
11 juil. 2016 à 12:25
Merci pour la réponse détaillée , maintenant je vois mieux les choses =)