Как HashSet не позволяет дубликаты?
Я проходил черезadd
методHashSet
, Упоминается, что
Если этот набор уже содержит элемент, вызов оставляет набор неизменным и возвращает false.
Ноadd
метод внутреннего сохранения значений вHashMap
public boolean add(E e) {
return map.put(e, PRESENT)==null;
}
put
методHashMap
говорится, что
Связывает указанное значение с указанным ключом в этой карте. Если карта ранее содержала сопоставление для ключа, старое значение заменяется.
Так что еслиput
методHashMap
заменяет старое значение, какHashSet
add
метод оставляет набор неизменным в случае дублирования элементов?