У програмуванні існують різні механізми збору даних. Колекції - це один спосіб зберігання даних. Мови програмування, такі як Java, використовують колекції. Це рамка з класами та інтерфейсами для зберігання та маніпулювання набором елементів даних. У звичайному масиві є фіксована кількість елементів для зберігання. Це обмеження масивів. Натомість програміст може використовувати колекції. Такі операції, як вставлення, видалення, сортування та пошук, можна виконувати за допомогою колекцій. На Java інтерфейс Map належить до колекцій. Карта використовується для представлення даних у ключі, парах значень. Існують лише унікальні ключі, і кожен має відповідне значення. HashMap і TreeMap - класи, які реалізують інтерфейс Map. HashMap - клас колекції на основі Карти, який використовується для зберігання пар ключів і значень, які не підтримують певний порядок в елементах даних. TreeMap - клас колекції на основі Карти, який використовується для зберігання пар ключів і значень, які підтримують порядку зростання елементів даних. The ключова різниця між HashMap і TreeMap є те, що HashMap не підтримує конкретний порядок в елементах даних, тоді як TreeMap підтримує порядку зростання елементів даних.
1. Огляд та ключові відмінності
2. Що таке HashMap
3. Що таке TreeMap
4. Подібність між HashMap і TreeMap
5. Порівняльне порівняння - HashMap проти TreeMap у табличній формі
6. Підсумок
HashMap - клас, який реалізує інтерфейс карт. Він розширює клас AbstractMap та реалізує інтерфейс Map. HashMap містить пари ключів, значень. Кожен елемент унікальний. Легко знайти елементи в HashMap за допомогою ключа. Декларація HashMap полягає в наступному.
публічний клас HashMap розширює AbstractMap реалізує Map, Cloneable, Serializable
K посилається на ключ, тоді як V позначає значення, яке відповідає цьому конкретному ключу. Кожен ключ, пара значень - це запис HashMap.
Малюнок 01: Інтерфейс карти
Припустимо такий сценарій, щоб зрозуміти HaspMap. Якщо там програміст хоче зберегти набір учнівських імен та відповідні номери індексу, він може використовувати HashMap. Імена учнів використовуються для пошуку номерів індексу. Тому імена учнів є ключами, а індексні числа - значеннями.
Малюнок 02: Програма HashMap за допомогою Java
Відповідно до вищевказаної програми створюється об’єкт HashMap. Тоді програміст може додати елементи за допомогою цього об’єкта. Значення можна вставити за допомогою методу put. Для отримання значень програміст повинен використовувати метод get з ключем. При використанні studentList.get ("150"); він надрукує відповідне ім’я тому індексу, який є Енн. Якщо програміст хоче отримати всі значення, то він може використовувати Map.Entry для друку всіх ключів і значень. При спостереженні за результатами видно, що HashMap не підтримує певного порядку. Він не друкує елементи у вставленому порядку. Елементи друкуються у випадковому порядку.
TreeMap - клас на Java, який реалізує інтерфейс Map. Подібно до HashMap, він також використовується для зберігання пар ключів, значень, але у порядку зростання. TreeMap реалізує NavigableMap, а NavigableMap розширює SortedMap, а SortedMap розширює Map. Кожен елемент унікальний. Декларація TreeMap полягає в наступному.
публічний клас TreeMap розширює програму AbstractMap, реалізує NavigableMap, Cloneable, Serializable
K посилається на ключ, тоді як V позначає значення, яке відповідає цьому конкретному ключу. Кожен ключ, пара значень - це запис TreeMap.
Малюнок 03: Програма TreeMap за допомогою Java
Відповідно до вищезгаданої програми створюється об’єкт TreeMap. Тоді програміст може додати елементи за допомогою цього об’єкта. Значення можна вставити за допомогою методу put. Для отримання значень програміст повинен використовувати метод get з ключем. При використанні studentList.get ("150"); він надрукує відповідне ім’я тому індексу, який є Енн. Якщо програміст хоче отримати всі значення, то він може використовувати Map.Entry для друку всіх ключів і значень. При спостереженні за результатами видно, що TreeMap підтримує певний порядок. Елементи друкуються у порядку зростання.
HashMap проти TreeMap | |
HashMap - клас колекції на основі карт, який використовується для зберігання пар ключів і значень, які не підтримують певний порядок в елементах даних. | TreeMap - клас колекції на основі карт, який використовується для зберігання пар ключів і значень, який підтримує порядку зростання елементів даних. |
Замовлення | |
HashMap не підтримує порядок. | Дерево Карта підтримує порядку зростання. |
Нульовий ключ | |
HashMap може містити один нульовий ключ. | У TreeMap не може бути нульового ключа. |
Продуктивність | |
HashMap швидше, ніж TreeMap. | TreeMap повільніше, ніж HashMap. |
Мови програмування, такі як Java, містять рамки колекції. У масивах може бути фіксована кількість елементів. Тому розмір масиву слід ініціалізувати на початку. У колекціях програміст може зберігати багато елементів за потребою. Немає конкретної кількості для зберігання. Карта є інтерфейсом, що належить до рамки колекції. HashMap - клас колекції на основі карт, який використовується для зберігання пар ключів і значень, які не підтримують певний порядок в елементах даних. TreeMap - клас колекції на основі карт, який використовується для зберігання пар ключів і значень, який підтримує порядку зростання елементів даних. У цій статті розглянуто відмінність HashMap від TreeMap, який реалізує інтерфейс Map. Різниця між HashMap і TreeMap полягає в тому, що HashMap не підтримує конкретний порядок в елементах даних, тоді як TreeMap підтримує порядку зростання елементів даних.
1. "HashMap на Java - javatpoint." Точка, Доступний тут
2. "TreeMap на Java - javatpoint." Точка, Доступний тут
1.'Java.util.Mie hierarchy'By ramlmn - Власна робота, (CC BY-SA 4.0) через Wikimedia Commons