Різниця між HashMap і HashTable

Основна різниця: У комп'ютерній науці hashTable або hashMap посилається на структуру даних, яка посилає ключі (імена) зі значеннями (атрибутами). У Java існують деякі важливі відмінності між цими двома типами: HashTable синхронізується і HashMap несинхронізований. HashTable не дозволяє використовувати нульові ключі. Однак HashMap дозволяє використовувати один нульовий ключ і будь-яку кількість нульових значень.

HashMap і hashTable - це структури даних, які є частиною колекції Java. Вони використовують пари ключ-значення для зберігання об'єктів. Вони обидва поділяють деякі подібності, такі як реалізують java.util.Map інтерфейс і обидва працюють за принципом хешування. Однак, коли ми посилаємося на них в контексті мови програмування Java, між ними є численні відмінності.

HashTable використовується для зберігання та отримання значення за допомогою ключа. Для цього ключ повинен бути унікальним. Таблиця, яка використовується для зберігання пар ключів і значень, відома як хеш-таблиця. Хеш-таблиця формується за допомогою алгоритму, який хеширує ключі. Ця хеш-функція використовується для присвоєння номерів вхідним даним, а потім дані зберігаються як індекс масиву, який відповідає обчисленому або оціненому номеру.

Як hashTable, hashMap також працює на тих же принципах хешування. Він може розглядатися як реалізація інтерфейсу Map на основі хеш-таблиці. Однак він відрізняється від hashTable на кілька точок. HashMap несинхронізовано, тоді як hashTable синхронізується. Синхронізація означає, що на час частинки тільки один потік здатний модифікувати таблицю. Таким чином, для виконання операції оновлення на hashTable, замок повинен бути придбаний на столі. Для цього конкретного часу інші потоки повинні чекати. Після розблокування інші нитки можуть продовжуватися і працювати на столі. Іншою важливою відмінністю між ними є те, що hashTable не дозволяє клавішу null. Тим не менш, hashMap дозволяє використовувати один нульовий ключ і будь-яку кількість нульових значень.

Порівняння між HashMap і HashTable:

HashMap

HashTable

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

Він не синхронізований

Він синхронізований (безпечний потік)

Нульові значення

Вона дозволяє пусті значення як ключ і значення

Вона не дозволяє використовувати null

Введення в java

Версія Java 1.2

Перша версія комплекту для розробки Java

Продуктивність

Порівняно краще

Порівняно бідні

Розширюється

Він розширює клас AbstractMap

Він поширює клас словника, який є досить старим

Ітерація ключів

Ітератор використовується для ітерації ключів

Інтерфейс перерахування використовується для ітерації ключів

Програми

Краще для не-потокових додатків

Як правило, безпечні для багатопоточних додатків

Серіалізація

Не серіалізовано

Серійна

Альтернатива

Можна використовувати паралельний hashMap для багатопотокового середовища

Такої альтернативи немає

Рекомендуємо

Схожі Статті

  • популярні порівняння: Різниця між Lucite і Plastic

    Різниця між Lucite і Plastic

    Ключова різниця : Lucite - це тип пластику. Основна відмінність між ними полягає в тому, що Lucite трохи важче, щільніше і менш крихке, ніж пластик. Через величезну популярність пластмас, легко подумати, що пластикова пляшка води, пластиковий браслет, пластикова сумка для покупок і навіть прозорий матеріал, що розділяє кабінет офісу, всі ідентичні. Однак це не так. Існує багато видів пластмас, які використовуються для виготовлення різних типів матеріалів, і Lucite є одним з таких матеріалів. Пластмаси визначаються як напіворганічні матеріали, які отримують з нафти або нафти. Вони мають полімерн
  • популярні порівняння: Різниця між Sony Xperia Z Ultra і HTC One

    Різниця між Sony Xperia Z Ultra і HTC One

    Ключова різниця: Sony Xperia Z Ultra - це висококласний phablet, запущений 3 липня 2012 року і проданий як "найтонший у світі Full HD смартфон". HTC One - флагманський телефон корпорації HTC. Він був запущений у березні 2013 року. Sony нещодавно випустила свій флагманський телефон Sony Xperia Z. Піс
  • популярні порівняння: Різниця між SGML і HTML

    Різниця між SGML і HTML

    Ключові відмінності : SGML і HTML, обидва - це мови програмування. Обидва вони добре відомі мовами розмітки, які використовуються для розробки веб-сторінок. Вони записуються в попередньо визначені елементи тегів. Основною відмінністю буде HTML - це підмножина SGML. HTML означає Hyper Text Markup Language. Це відома комп'ютерна мова, яка використовується для розробки веб-ст
  • популярні порівняння: Різниця між сільським господарством та зрошенням

    Різниця між сільським господарством та зрошенням

    Основна різниця : сільське господарство - це практика вирощування продуктів харчування та вирощування тварин для продуктів харчування та продуктів харчування. Іригація - це акт постачання суші водою, особливо під час сільського господарства. Історія показує, що ми завжди були залежні від сільського господарства для нашого виживання. Будь то спеції, посіви, одяг, меблі тощо, ми обробляємо та обмінюємо такі предмети, з давніх-давен. Навіть пі
  • популярні порівняння: Різниця між iPhone 5S і Samsung Galaxy Note 3

    Різниця між iPhone 5S і Samsung Galaxy Note 3

    Ключова різниця: iPhone 5S - це останній смартфон від Apple. Він оснащений Apple OS 7 і доступний у трьох кольорах: білий, чорний і золотий. Samsung Galaxy Note 3 - це останній смартфон корпорації Samsung. Він був оприлюднений 4 вересня 2013 року в IFA Berlin з Galaxy Gear, розумним годинником, який повинен працювати як
  • популярні порівняння: Різниця між Lay і Lie

    Різниця між Lay і Lie

    Ключова відмінність : Основна відмінність між лежачими і брехнею полягає в тому, що прокладка є регулярним дієсловом, тоді як брехня є неправильним дієсловом. "Lay" і "Lie" - це два дієслова, які часто плутаються через подібність у їхніх значеннях. Однак вони різні і використовуються по-різному в мовах. Згідно з Collins Dictionary.com, термін "брехня" визначається як: Розмістити або бути в положенні, що простягається, горизонта
  • популярні порівняння: Різниця між волею та бажанням

    Різниця між волею та бажанням

    Ключова різниця: обидві волі і будуть служити англійській мові, будучи частиною сім'ї модальних дієслів. Очевидна різниця між ними полягає в тому, що воля використовується для позначення резолюції, тоді як, як правило, не буде. Модальні дієслова - це ті дієслова, які передбачають ймовірність, здатність, дозвіл, зобов'язання тощо. Воля і хотіли б бути двома з таких слів серед таких, які можуть, можуть, пов
  • популярні порівняння: Різниця між сиром Моцарелла і сиром Чеддер

    Різниця між сиром Моцарелла і сиром Чеддер

    Ключова різниця : Хоча існує багато відмінностей між сиром Моцарелла і Чеддер, слід помітити, що перше походить з Італії, а друге - в Англії. Сир є основним інгредієнтом, який використовується в багатьох делікатесах у ці дні. Як молочний продукт, сир широко виробляється, продається і споживається в усьому світі. Будь то діти, дорослі чи літні люди, кожен користується гарним поширенням сиру в їжі. Врахов
  • популярні порівняння: Різниця між замовленням на купівлю та рахунком-фактурою

    Різниця між замовленням на купівлю та рахунком-фактурою

    Ключова відмінність: Покупець видає покупцю замовлення на покупця із зазначенням типу придбаної продукції, кількості товару, ціни та загальної суми, яку покупець готовий заплатити продавцю. Замовлення на купівлю є юридично обов'язковим документом, який покупець надсилає продавцю. Рахунок-фактура є векселем, який видається продавцем покупцеві,

Вибір Редакції

Різниця між HTC First і Nokia Lumia 820

Основна різниця: HTC First - це перший телефон, який буде випускатися під керуванням інтерфейсу Facebook Home. Телефон працюватиме на основі Qualcomm MSM8930 Snapdragon 400 1.4 GHz Dual-core Krait і 1 Гб оперативної пам'яті. Nokia Lumia 820 була одним з перших телефонів, розроблених під управлінням Windows Phone 8. Вона була запущена в ли