Съдържание
- Първична разлика
- Сравнителна диаграма
- Определение на HashMap
- Дефиниция на HashTable
- Разликите в една ядка
- заключение
Първична разлика
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.
Сравнителна диаграма
HashMap | HashTable | |
дефиниция | Максимално един нулев ключ е разрешен от 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, е отказоустойчиво по своя характер.
Разликите в една ядка
- HashTable е безопасен с конци, докато от друга страна HashMap не е защитен с конци.
- HashTable се синхронизира вътрешно, докато HashMap не се синхронизира вътрешно.
- И двата HashMap и HashTable реализират интерфейса на Map, но и двете разширяват различни класове. HashMap реализира интерфейса на Map, като разширява класа AbstractMap, докато от друга страна HashTable реализира интерфейса Map, като разширява класа на речника.
- Максимално един нулев ключ е разрешен от HashMap и всеки брой от нулевите стойности също е разрешен, докато HashTable нито позволява нито един нулев ключ, нито нулевата стойност.
- За преминаване през елементите HashMap връща само Iterators, докато от друга страна HashTable връща не само Iterators, но и изброяването.
- Итераторите, върнати от HasMap, имат неуспешен характер, докато изброяването, върнато от HashTable, не е безопасно.
- HashMap е бърз в сравнение с HashTable.
- HashTable е бавен в сравнение с HashMap.
- Производителността на HashMap е добра в сравнение с HashTable, тъй като HashTable се синхронизира вътрешно.
- HashMap се предпочита пред HashTable, тъй като HashTable е наследствен клас и се счита за дължим за амортизация.
- От началото на въвеждането на HashMap в JDK 1.2 той е член на Java Collection Framework, но преди JDK 1.2 HashTable вече са налице, а от JDK 1.2 е направено да внедри Map интерфейс и да стане член на Collection Framework.
заключение
Компютърната архитектура е нещо, което е загадка за хората, които са общи потребители и нямат подробни познания за нея. Двата термина HashMap и HashTable са сходни, които се считат за едни и същи, но са различни в работата и функциите. Следователно тази статия дава правилно разбиране на двата типа, за да могат хората да получат по-ясна представа.