HashSet ou HashMap
Fermé
helloword95
-
18 avril 2017 à 02:04
KX Messages postés 16754 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 - 18 avril 2017 à 07:14
KX Messages postés 16754 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 - 18 avril 2017 à 07:14
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
18 avril 2017 à 07:14
18 avril 2017 à 07:14
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; }