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

Ключова разлика - HashMap vs дървовидна карта
 

В програмирането има различни механизми за събиране на данни. Колекциите са един метод за съхранение на данни. Езици за програмиране като Java използват колекции. Това е рамка с класове и интерфейси за съхранение и манипулиране на набор от елементи от данни. В нормален масив има фиксиран брой елементи, които да се съхраняват. Това е ограничение на масиви. Вместо това програмистът може да използва колекции. Операции като вмъкване, изтриване, сортиране и търсене могат да се извършват с помощта на колекции. В Java интерфейсът на Map принадлежи към колекциите. Картата се използва за представяне на данни в ключа, стойностни двойки. Има само уникални ключове и всеки има съответна стойност. HashMap и TreeMap са класове, които реализират интерфейса на Map. HashMap е колекционен клас, базиран на колекция, който се използва за съхранение на двойки ключове и стойности, които не поддържат определен ред в елементите от данни. TreeMap е колекционен клас, базиран на колекция, който се използва за съхранение на двойки ключове и стойности, които поддържат възходящия ред на елементи от данни. Най- ключова разлика между HashMap и TreeMap е това HashMap не поддържа конкретен ред в елементите с данни, докато TreeMap поддържа възходящия ред на елементите от данни.

СЪДЪРЖАНИЕ

1. Преглед и ключова разлика
2. Какво е HashMap
3. Какво е TreeMap
4. Прилики между HashMap и TreeMap
5. Паралелно сравнение - HashMap срещу TreeMap в таблична форма
6. Резюме

Какво е HashMap?

HashMap е клас, който реализира интерфейса на картата. Той разширява класа AbstractMap и реализира интерфейс на Map. HashMap съдържа двойки ключ, стойност. Всеки елемент е уникален. Лесно е да намерите елементите в HashMap с помощта на ключа. Декларирането на HashMap е както следва.

обществени клас HashMap простира AbstractMap оръдия карта, Cloneable, Serializable

K се отнася до ключа, докато V се отнася до стойността, съответстваща на този конкретен ключ. Всеки ключ, стойностна двойка е запис на HashMap.

Фигура 01: Интерфейс на картата

Да предположим сценарий, както следва за разбиране на HaspMap. Ако там програмистът иска да запази набор от имена на ученици и съответните номера на индекси, той може да използва HashMap. Имената на учениците се използват за намиране на числата на индекса. Следователно имената на учениците са ключовете, докато индексните числа са стойностите.

Фигура 02: Програма HashMap, използваща Java

Според горната програма се създава обект на HashMap. Тогава програмистът може да добавя елементи, използвайки този обект. Стойностите могат да бъдат вмъкнати с помощта на метода put. За да получи стойностите, програмистът трябва да използва метода get с ключа. Когато използвате studentList.get ("150"); тя ще отпечата съответното име на този индекс, който е Ан. Ако програмистът иска да получи всички стойности, тогава той може да използва Map.Entry за отпечатване на всички ключове и стойности. При наблюдение на изхода се вижда, че HashMap не поддържа конкретен ред. Той не отпечатва елементите в поставения ред. Елементите се отпечатват в произволен ред.

Какво е TreeMap?

TreeMap е клас в Java, който реализира интерфейса на Map. Подобно на HashMap, той също се използва за съхранение на ключове, стойностни двойки, но във възходящ ред. TreeMap реализира NavigableMap, а NavigableMap разширява SortedMap, а SortedMap разширява картата. Всеки елемент е уникален. Декларирането на TreeMap е следното.

обществени клас дървовидна карта простира AbstractMap оръдия NavigableMap, Cloneable, Serializable

K се отнася до ключа, докато V се отнася до стойността, съответстваща на този конкретен ключ. Всеки ключ, стойностна двойка е запис на TreeMap.

Фигура 03: Програма TreeMap, използваща Java

Според горната програма се създава обект на TreeMap. Тогава програмистът може да добавя елементи, използвайки този обект. Стойностите могат да бъдат вмъкнати с помощта на метода put. За да получи стойностите, програмистът трябва да използва метода get с ключа. Когато използвате studentList.get ("150"); тя ще отпечата съответното име на този индекс, който е Ан. Ако програмистът иска да получи всички стойности, тогава той може да използва Map.Entry за отпечатване на всички ключове и стойности. При наблюдение на изхода се вижда, че TreeMap поддържа определен ред. Елементите се отпечатват във възходящ ред.

Какви са приликите между HashMap и TreeMap?

  • Както HashMap, така и TreeMap реализира интерфейс на Map.
  • Както HashMap, така и TreeMap могат да съхраняват и манипулират много елементи.
  • Както HashMap, така и TreeMap съдържа двойки ключ, стойност.
  • Както HashMap, така и TreeMap могат да имат много нулеви стойности.
  • Няма ограничение в броя на елементите, които могат да се съхраняват както в HashMap, така и в TreeMap.

Каква е разликата между HashMap и TreeMap?

HashMap срещу TreeMap

HashMap е колекционен клас базиран колекция, който се използва за съхранение на двойки ключове и стойности, които не поддържат определен ред в елементите от данни. TreeMap е колекционен клас, базиран на колекция, който се използва за съхранение на двойки ключове и стойности, който поддържа възходящия ред на елементи от данни.
 Поръчка
HashMap не поддържа реда. TreeMap поддържа възходящия ред.
Нулен ключ
HashMap може да съдържа един нулев ключ. TreeMap не може да има нулев ключ.
 производителност
HashMap е по-бърз от TreeMap. TreeMap е по-бавен от HashMap.

резюме - HashMap vs дървовидна карта

Езици за програмиране като 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) чрез Commons Wikimedia