На начальном уровне один из наиболее часто задаваемых вопросов посвящен Java HashMap vs Hashtable. Поэтому вы должны быть полностью готовы ответить на все, что связано с HashMap или Hashtable. Java использует HashMap и Hashtable для хранения данных в виде ключ и ценности . Итак, эта статья поможет вам узнать основные различия между этими двумя.
Я буду обсуждать темы в следующем порядке:
- Что такое HashMap?
- Что такое хеш-таблица?
- HashMap против Hashtable
- Когда использовать HashMap и Hashtable?
Давайте начнем!
Что такое HashMap?
HashMap это класс коллекции на основе карты в который используется для хранения данных в парах ключ и значение. Это помогает в реализации интерфейса карты на Java. Это в основном часть начиная с версии Java 1.2 и обеспечивает базовую реализацию интерфейса карты в Java. Чтобы получить доступ к значению в HashMap, нужно знать его Ключ .
Он называется HashMap, потому что в нем используется метод, называемый Хеширование . Хеширование - это процесс преобразования большого на меньший, сохраняя значение String как постоянное. Полученное сжатое значение помогает в индексации и ускорении поиска.
исходный код c ++ сортировки слиянием
Что такое хеш-таблица?
Хеш-таблица - это структура данных который используется для хранения пар ключ / значение. В Hashtable данные хранятся в формате массива, где каждое значение данных имеет собственное уникальное значение индекса. Вы можете получить доступ к данным очень быстро, если знаете индекс нужных данных.
Класс Java Hashtable реализует хэш-таблицу, которая сопоставляет ключи значениям. Он наследует класс Dictionary и реализует интерфейс Map.
Объявление Hashtable
открытый класс Hashtable расширяет словарь реализует Map, Cloneable, Serializable
Кому: Это тот тип ключей, который у карты.
V: Это тип отображаемых значений.
Теперь, когда вы, ребята, поняли, как работают HashMap и Hashtable в Java, давайте взглянем на параметры, чтобы понять различия между HashMap и Hashtable.
Теперь давайте укажем на основные различия между HashMap и Hashtable.
Java HashMap против Hashtable
Параметры | HashMap | Хеш-таблица |
Синхронизация | Несинхронизированный означает, что он не является потокобезопасным и не может использоваться многими потоками без надлежащего кода синхронизации. | Синхронизирован и может использоваться многими потоками |
Нулевые ключи | Допускает только один нулевой ключ и несколько нулевых значений | Не допускает нулевой ключ или его значение |
Устаревшая система | Это часть коллекций Java | Hashtable - это устаревший класс, который не был частью первоначального |
Итератор | Итератор работает без сбоев и выдает исключение 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», и наша команда будет рада ответить.