HashSet ou HashMap
helloword95
-
KX Messages postés 16761 Date d'inscription Statut Modérateur Dernière intervention -
KX Messages postés 16761 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
Quelle est la différence entre HashSet et HashMap ? Pourquoi choisir l'un plutôt que l'autre? Quelle est la structure de donnée derrière c'est ensembles ?
Je suis assez perdu
Merci
Quelle est la différence entre HashSet et HashMap ? Pourquoi choisir l'un plutôt que l'autre? Quelle est la structure de donnée derrière c'est ensembles ?
Je suis assez perdu
Merci
1 réponse
Bonjour,
Un HashSet<E> est un Set<E> implémenté avec une table de hachage.
Une HashMap<K,V> est une Map<K,V> implémentée avec une table de hachage.
Donc la structure de donnée derrière est la même. D'autant plus que pour implémenter le HashSet c'est une HashMap qui sert de structure.
Un HashSet<E> est un Set<E> implémenté avec une table de hachage.
Une HashMap<K,V> est une Map<K,V> implémentée avec une table de hachage.
Donc la structure de donnée derrière est la même. D'autant plus que pour implémenter le HashSet c'est une HashMap qui sert de structure.
public class HashSet<E> extends AbstractSet<E> implements Set<E>, Cloneable, Serializable { private transient HashMap<E, Object> map; private static final Object PRESENT = new Object(); public HashSet() { map = new HashMap<>(); } public boolean add(E e) { return map.put(e, PRESENT) == null; } public boolean remove(Object o) { return map.remove(o) == PRESENT; }