Разница между Hashmap и Hashset является наиболее часто задаваемым вопросом в интервью Java. Если структура сбора и многопоточное интервью не задействованы, можно сказать, что она неполна. Проблема с структурой сбора не связана с хэшсом и хэшмапом, и можно сказать, что это неполно. Hashmap и Hashset являются частью структуры сбора, которые позволяют нам использовать коллекции объектов. Структура коллекции имеет свой собственный интерфейс и реализация, которые в основном разделены на интерфейс SET, интерфейс списка и интерфейс очереди. У них есть свои характеристики. Набор не позволяет объектам иметь дубликаты значений, а список позволяет дубликаты. Он индексирует объекты в наборе. Принцип работы в очереди - алгоритм FCFS (первый приходите, первый сервер).
Сначала давайте посмотрим, что такое Hashmap и Hashset, а затем сравним различия между ними.
Что такое хэшст
Hashset реализует интерфейс SET, который не разрешает дубликаты значений в наборе. Когда мы упоминаем Hashset, первым делом является убедиться, что объект переопределяет методы equals () и hashcode () перед хранением объекта в хэшсете, так что объект можно сравнить, равны ли значения объекта, чтобы убедиться, что в наборе не хранятся равные объекты. Если мы не переписываем эти два метода, будет использоваться реализация этого метода по умолчанию.
Публичный логический метод Add (Object O) используется для добавления элементов в набор. Когда значение элемента повторяется, оно немедленно вернет ложь, и если оно будет успешно добавлен, оно вернет true.
Что такое хэшмап
HashMap реализует интерфейс карты, который отображает пары клавиш. Дублирующие ключи не допускаются на карте. Существует две основные реализации интерфейса карты, HashMap и TreeMap. TREEMAP сохраняет порядок объектов, в то время как HashMap не может. HashMap позволяет ключам и значениям быть нулевыми. HashMap не синхронизирован, но структура сбора предоставляет методы, обеспечивающие синхронизирование HashMap, так что при одновременном хэшмапе многочисленных потоков он может гарантировать, что только один поток изменяет карту.
Метод публичного объекта PUT (ключ объекта, значение объекта) используется для добавления элементов на карту.
Вы можете прочитать эту статью, чтобы увидеть, как работает хэшмап, и в этой статье, чтобы увидеть, как отличаются хэшмап и хэштата.
Разница между хэшсом и хэшмапом
| *Hashmap* | *Hashset* |
| HashMap реализует интерфейс карты | Hashset реализует интерфейс SET |
| Hashmap для хранения паров ключевых значений | Hashset только хранит объекты |
| Используйте метод put () для помещения элементов в карту | Используйте метод add (), чтобы поместить элементы в набор |
| HashMap использует ключевые объекты для расчета значений хэшкода | Hashset использует объекты -члены для расчета значений хэшкода. HashCode может быть одинаковым для двух объектов, поэтому метод Equals () используется для оценки равенства объектов. Если два объекта разные, верните ложь. |
| HashMap быстрее, потому что он использует единственный ключ для получения объекта | Hashset медленнее, чем HashMap |
Если вы знаете какие -либо другие различия, пожалуйста, оставьте сообщение.
Оригинальная ссылка: javarevisited Перевод: ImportNew.com - Tang Xiaojuan Ссылка на перевод: http://www.importnew.com/6931.html