Разлика между HashMap и HashTable

Автор: Monica Porter
Дата На Създаване: 17 Март 2021
Дата На Актуализиране: 20 Може 2024
Anonim
Разница между HashMap и TreeMap Java собеседование
Видео: Разница между HashMap и TreeMap Java собеседование

Съдържание

Първична разлика

HashMap и HashTable са двете критични структури от данни в Java. Те са в рамката за събиране, като има няколко общи неща между двете. Въпреки че имат тези прилики, има някои разлики между тях. И двете от HashMap и HashTablestore данните под формата на двойки ключ-стойност и slao и реализират интерфейса на Map. За съхранение на елементите се използва техниката Hashing от двете HashMap и HashTable. Както трябва да се справим с разликите между двете, така че най-важната разлика се основава на безопасността на нишката. Основните разлики между HashMap и HashTable включват нулеви клавиши, итерационни стойности, синхронизация. Производителност и клас. HashTable е безопасен с конци, докато от друга страна HashMap не е защитен с конци. HashTable се синхронизира вътрешно, докато HashMap не се синхронизира вътрешно, така че HashMap не е безопасен за използване в многонишкови приложения. Производителността на HashMap е добра в сравнение с HashTable, тъй като HashTable се синхронизира вътрешно. HashMap е предпочитан пред HashTable, тъй като HashTable е наследствен клас и се счита, че се дължи на амортизация. HashMap е бърз в сравнение с HashTable. От началото на въвеждането на HashMap в JDK 1.2, той е член на Java Collection Framework, но преди JDK 1.2 HashTable вече е налице и от JDK 1.2 е направен да внедри Map интерфейс и да стане член на Collection Framework.


Сравнителна диаграма

HashMapHashTable
дефиницияМаксимално един нулев ключ е разрешен от HashMap и е разрешен всеки брой от нулевите стойности.Нито позволява нито един нулев ключ, нито нулевата стойност.
връщанеЗа преминаване през елементите HashMap връща само IteratorsВръщанията са не само итераторите, но и изброяването.
изпълнениереализира интерфейса на Map чрез разширяване на класа AbstractMapРеализира интерфейса на Map чрез разширяване на класа речник.
SyncНе се синхронизира вътрешноТой се синхронизира вътрешно

Определение на HashMap

HashMap е важната структура на данни в рамката за събиране на Java. HashMap не е безопасен за конци, не се синхронизира вътрешно, така че HashMap не е безопасен за използване в многонишкови приложения. Но той може да бъде безопасен за многопоточни приложения, като го синхронизира външно с помощта на метода Collections.synchronized (). Той реализира интерфейса на Map, като разширява класа AbstractMap. Максимално един нулев ключ е разрешен от HashMap и е разрешен всеки брой от нулевите стойности. Итераторът, върнат от HasMap, има неуспешен характер. Производителността на HashMap е добра и затова е бърза в сравнение с HashTable.


Дефиниция на HashTable

HashTable е важната структура на данните в рамката за събиране на Java. HashTable е безопасен за конци и се синхронизира вътрешно. Следователно е безопасно да се използва за многонишкови приложения. Той реализира интерфейса на Map, като разширява класа на речника. Той не позволява нито един нулев ключ, нито нулевата стойност. HashTable е наследствен клас и се счита, че се дължи на амортизация. Изброяването, върнато от HashTable, е отказоустойчиво по своя характер.

Разликите в една ядка

  1. HashTable е безопасен с конци, докато от друга страна HashMap не е защитен с конци.
  2. HashTable се синхронизира вътрешно, докато HashMap не се синхронизира вътрешно.
  3. И двата HashMap и HashTable реализират интерфейса на Map, но и двете разширяват различни класове. HashMap реализира интерфейса на Map, като разширява класа AbstractMap, докато от друга страна HashTable реализира интерфейса Map, като разширява класа на речника.
  4. Максимално един нулев ключ е разрешен от HashMap и всеки брой от нулевите стойности също е разрешен, докато HashTable нито позволява нито един нулев ключ, нито нулевата стойност.
  5. За преминаване през елементите HashMap връща само Iterators, докато от друга страна HashTable връща не само Iterators, но и изброяването.
  6. Итераторите, върнати от HasMap, имат неуспешен характер, докато изброяването, върнато от HashTable, не е безопасно.
  7. HashMap е бърз в сравнение с HashTable.
  8. HashTable е бавен в сравнение с HashMap.
  9. Производителността на HashMap е добра в сравнение с HashTable, тъй като HashTable се синхронизира вътрешно.
  10. HashMap се предпочита пред HashTable, тъй като HashTable е наследствен клас и се счита за дължим за амортизация.
  11. От началото на въвеждането на HashMap в JDK 1.2 той е член на Java Collection Framework, но преди JDK 1.2 HashTable вече са налице, а от JDK 1.2 е направено да внедри Map интерфейс и да стане член на Collection Framework.

заключение

Компютърната архитектура е нещо, което е загадка за хората, които са общи потребители и нямат подробни познания за нея. Двата термина HashMap и HashTable са сходни, които се считат за едни и същи, но са различни в работата и функциите. Следователно тази статия дава правилно разбиране на двата типа, за да могат хората да получат по-ясна представа.


Жест Жестът е форма на невербална комуникация или не-вокална комуникация, при която видимите телесни действия комуникират конкретни думи, или вместо, или във връзка с речта. Жестовете включват движе...

Foreward Предговор е (обикновено кратък) текст, написан понякога в началото на книга или друга литература. Обикновено написан от някой друг, освен основния автор на произведението, той често разказв...

Очарователни Публикации