Различия между HashSet и HashMap в Java
1) Первое и наиболее существенное различие между HashMap и HashSet заключается в том, что HashMap представляет собой реализацию интерфейса Map, в то время как HashSet представляет собой реализацию интерфейса Set, что означает, что HashMap является структурой данных на основе ключевых значений и HashSet гарантирует уникальность, не допуская дублирования. На самом деле HashSet является оболочкой для HashMap в Java, если вы посмотрите на код метода add (E e) HashSet.java, вы увидите следующий код:
public boolean add(E e)
{
return map.put(e, PRESENT)==null;
}
, где помещение объекта на карту в качестве ключа и значения является конечным объектом PRESENT, который является фиктивным.
2) Второе отличие между HashMap и HashSet заключается в том, что мы используем метод add () для помещения элементов в Set, но мы используем метод put () для вставки ключа и значения в HashMap в Java.
3) HashSet допускает только один нулевой ключ, но HashMap может разрешать один нулевой ключ + несколько нулевых значений.
В этом и заключается различие между HashSet и HashMap в Java. Таким образом, HashSet и HashMap - это два разных типа Коллекции, один из которых является Установленным, а другой - Картой.