Функции Equals и HashCode в Java
Java 655. В чем разница между HashSet и HashMap?
HashSet и HashMap - это две разные структуры данных в Java с некоторыми общими свойствами, но различным поведением и применением. HashSet - это реализация интерфейса Set в Java, которая используется для хранения коллекции уникальных элементов без дублирования. Ключевое отличие HashSet от других коллекций заключается в том, что он не позволяет хранить дублирующиеся объекты. Элементы в HashSet не имеют определенного порядка. HashMap - это реализация интерфейса Map в Java, которая используется для хранения ключ-значение пар...
Под "капотом" HashSet
HashSet в Java представляет собой коллекцию, которая не допускает дублирования элементов и не гарантирует порядок хранения элементов. Внутри HashSet используется HashMap, где ключи - это элементы коллекции, а значения - это заглушки (dummy values), которые используются для эффективного хранения элементов. Когда элемент добавляется в HashSet, он сначала проверяется на наличие в HashMap. Если элемент уже присутствует в HashMap, то он не добавляется в HashSet. Если элемент отсутствует в HashMap, то он добавляется в HashMap как ключ с заглушкой в качестве значения, а затем ключ добавляется в HashSet...