Java HashMap vs Hashtable: в чем разница?



Эта статья о Java HashMap и Hashtable даст вам краткую информацию о Java HashMap и Hashtable, а также об основных различиях между этими двумя

На начальном уровне один из наиболее часто задаваемых вопросов посвящен Java HashMap vs Hashtable. Поэтому вы должны быть полностью готовы ответить на все, что связано с HashMap или Hashtable. Java использует HashMap и Hashtable для хранения данных в виде ключ и ценности . Итак, эта статья поможет вам узнать основные различия между этими двумя.

Я буду обсуждать темы в следующем порядке:





Давайте начнем!

Что такое HashMap?

HashMap это класс коллекции на основе карты в который используется для хранения данных в парах ключ и значение. Это помогает в реализации интерфейса карты на Java. Это в основном часть начиная с версии Java 1.2 и обеспечивает базовую реализацию интерфейса карты в Java. Чтобы получить доступ к значению в HashMap, нужно знать его Ключ .



Он называется HashMap, потому что в нем используется метод, называемый Хеширование . Хеширование - это процесс преобразования большого на меньший, сохраняя значение String как постоянное. Полученное сжатое значение помогает в индексации и ускорении поиска.

исходный код c ++ сортировки слиянием

HashMap в Java-JavaHashMap против Hashtable-Edureka

Что такое хеш-таблица?

Хеш-таблица - это структура данных который используется для хранения пар ключ / значение. В Hashtable данные хранятся в формате массива, где каждое значение данных имеет собственное уникальное значение индекса. Вы можете получить доступ к данным очень быстро, если знаете индекс нужных данных.



Класс Java Hashtable реализует хэш-таблицу, которая сопоставляет ключи значениям. Он наследует класс Dictionary и реализует интерфейс Map.

Объявление Hashtable

открытый класс Hashtable расширяет словарь реализует Map, Cloneable, Serializable

Кому: Это тот тип ключей, который у карты.
V: Это тип отображаемых значений.

Теперь, когда вы, ребята, поняли, как работают HashMap и Hashtable в Java, давайте взглянем на параметры, чтобы понять различия между HashMap и Hashtable.

Теперь давайте укажем на основные различия между HashMap и Hashtable.

Java HashMap против Hashtable

Параметры HashMap Хеш-таблица

Синхронизация

Несинхронизированный означает, что он не является потокобезопасным и не может использоваться многими потоками без надлежащего кода синхронизации.Синхронизирован и может использоваться многими потоками

Нулевые ключи

Допускает только один нулевой ключ и несколько нулевых значенийНе допускает нулевой ключ или его значение

Устаревшая система

Это часть коллекций JavaHashtable - это устаревший класс, который не был частью первоначального

Итератор

Итератор работает без сбоев и выдает исключение concurrentModificationException, если какой-либо другой поток пытается изменить карту.Счетчик не работает без сбоев

Наследование класса

Наследует Абстрактная карта классНаследует класс Dictionary

Когда теперь можно использовать Java HashMap и Hashtable?

Когда использовать HashMap и Hashtable?

  • Синхронизация это основное различие между Java HashMap и Hashtable. Но если есть необходимость в поточно-ориентированной операции, можно использовать Hashtable, поскольку все его методы синхронизированы. Но это унаследованный класс, и их следует избегать. Это невозможно с помощью HashMap.
  • Для многопоточной среды вы можете использовать ConcurrentHashMap, который почти похож на Hashtable. Здесь вы даже можете явно синхронизировать HashMap
  • Синхронизированная операция приводит к снижению производительности, поэтому ее следует избегать до тех пор, пока она не понадобится. Следовательно, для непоточной среды определенно используется HashMap без каких-либо сомнений.

Это подводит нас к концу статьи, где мы узнали о различия между Java HashMap и Hashtable. Надеюсь, вы, ребята, поняли эту тему.

Если вы нашли эту статью «Java HashMap против Hashtable» релевантной, ознакомьтесь с надежная компания онлайн-обучения с сетью из более чем 250 000 довольных учащихся по всему миру.

какой метод класса сканера читает строку?

Курс разработан, чтобы дать вам фору в и обучим вас как основным, так и продвинутым концепциям Java, а также различным как Hibernate и Spring.

Если у вас возникнут какие-либо вопросы, не стесняйтесь задавать все свои вопросы в разделе комментариев «Java HashMap vs Hashtable», и наша команда будет рада ответить.