Разлике између ХасхМап-а и ТрееМап-а

ХасхМап је био део Јава колекције. Омогућава основну имплементацију Јава Мап интерфејса. Подаци се чувају у паровима (кључ, вредност). Да бисте приступили вредности, морате да знате њен кључ. ХасхМап је познат као ХасхМап јер користи технику Хасхинг. ТрееМап се користи за имплементацију интерфејса карте и навигабилне карте са апстрактном класом. Мапа је разврстана према природном редоследу њихових кључева или по компаратеру који је дат током креирања мапе, зависно од тога који се конструктор користи.

Сличности између ХасхМап-а и ТрееМап-а

Поред разлика, постоје следеће сличности између хасхмапа и треемапа:

  • И класе ХасхМап и ТрееМап имплементирају интерфејсе који се могу прилагодити и подесити.
  • И ХасхМап и ТрееМап проширују класу АбстрацтМап.
  • И класе ХасхМап и ТрееМап раде на паровима кључ и вредност.
  • И ХасхМап и ТрееМап су колекције које нису синхронизоване.
  • И ХасхМап и ТрееМап пропадају брзе колекције.

Обје имплементације су дио оквира за прикупљање и похрањују податке у парове Кеи-валуе.

Јава програм који приказује ХасхМап и ТрееМап

Ево јава програма који показује како се елементи стављају и преузимају из хасхмапа:

package com.edubca.map;
import java.util.*;
class HashMapDemo
(
// This function prints frequencies of all elements
static void printFrequency(int arr())
(
// Create an empty HashMap
HashMap hashmap =
new HashMap ();
// Iterate through the given array
for (int i = 0; i < arr.length; i++)
(
Integer value = hashmap.get(arr(i));
// If first occurrence of the element
if (hashmap.get(arr(i)) == null)
hashmap.put(arr(i), 1);
// If elements already present in hash map
else
hashmap.put(arr(i), ++value);
)
// Print result
for (Map.Entry m:hashmap.entrySet())
System.out.println("Frequency of " + m.getKey() +
" is " + m.getValue());
)
// Main method to test the above method
public static void main (String() args)
(
int arr() = (10, 40, 5, 12, 5, 7, 10);
printFrequency(arr);
)
)

Излаз:

Из резултата је јасно да хасхмап не одржава ниједан ред. Ево јава програма који показује како се елементи постављају и преузимају из мапе треемапа.

Шифра:

package com.edubca.map;
import java.util.*;
class TreeMapDemo
(
// This function prints frequencies of all elements
static void printFrequency(int arr())
(
// Create an empty HashMap
TreeMap treemap =
new TreeMap ();
// Iterate through the given array
for (int i = 0; i < arr.length; i++)
(
Integer value = treemap.get(arr(i));
// If first occurrence of element
if (treemap.get(arr(i)) == null)
treemap.put(arr(i), 1);
// If elements already present in hash map
else
treemap.put(arr(i), ++value);
)
// Print result
for (Map.Entry m: treemap.entrySet())
System.out.println("Frequency of " + m.getKey() +
" is " + m.getValue());
)
// Main method to test above method
public static void main (String() args)
(
int arr() = (10, 40, 5, 12, 5, 7, 10);
printFrequency(arr);
)
)

Излаз:

Из излаза се види да су тастери сортирани у природном редоследу. Стога Треемап одржава сортирани редослијед.

Међусобне разлике између ХасхМап-а и ТрееМап-а (Инфограпхицс)

Следеће су главне разлике између ХасхМап-а и ТрееМап-а

Кључна разлика ХасхМап-а и ТрееМап-а

Следе тачке кључне разлике ХасхМап-а и ТрееМап-а:

1. Структура и примена

Хасх Мап је реализација заснована на хасх табели. Проширује класу Абстрацт Мап и имплементира интерфејс Мап. Хасх мапа ради на принципу распршивања. Имплементација Мапе делује као табела са хаскираним хасх-ом, али кад се ведре превише велике величине, претварају се у Трее чворове, а свака има сличну структуру као и чворови ТрееМап-а. ТрееМап проширује класу Абстрацт Мап и имплементира интерфејс Навигабле Мап. Основна структура података за треемап је црвено-црно дрво.

2. Налог за понављање

Редослед понављања Хасх мапе није дефинисан, док су елементи ТрееМап-а наручени у природном редоследу или у прилагођеном редоследу наведеном помоћу компаратора.

3. Перформансе

Како је Хасхмап имплементација заснована на распршивању, она пружа перформансе у сталном времену које су једнаке О (1) за већину уобичајених операција. Вријеме потребно за претраживање елемента у хасх мапи је О (1). Али ако постоји непримјерена имплементација хасхмапа, то може довести до додатних детекција меморије и смањења перформанси. Са друге стране, ТрееМап пружа перформансе О (лог (н)). Пошто се хасхмап темељи на хасхтабле-у, захтева непрестани распон меморије док мапа користи само количину меморије која је потребна за држање предмета. Дакле, ХасхМап је временски ефикаснији од треемап-а, али треемап је економичнији од простора ХасхМап-а.

4. Нулл Хандлинг

ХасхМап дозвољава скоро један нулл кључ и многе нулл вредности док се у мапу карте нулл не може користити као кључ иако су нулл вредности дозвољене. Ако се нулл користи као кључ у хасхмап-у, избациће изузетак нултог показивача, јер интерно користи метод упоређивања или упоређивањаТо за сортирање елемената.

Поређење табеле

Овде је упоредна табела која приказује разлике између хасхмапа и треемап-а:

Основе поређењаХасхМапТрееМап
Синтаксајавна класа ХасхМап проширује АбстрацтМап имплементира Мап, Цлонеабле, Сериализаблејавна класа ТрееМап проширује апстрактне имплементације АбстрацтМапНавигаблеМап, Цлонеабле, Сериализабле
НаручивањеХасхМап не даје ниједан налог за елементе.Елементи су наручени у природном или прилагођеном редоследу.
БрзинаБрзоСпор
Нулте кључеве и вредностиОмогућује готово један кључ као нулл и мултипле нулл вриједности.Не дозвољава нулл као кључ, али допушта више нулл вриједности.
Потрошња меморијеХасхМап троши више меморије због основне Хасх таблице.Потроши мање меморије у поређењу са ХасхМап-ом.
ФункционалностПружа само основне карактеристикеОмогућује богатије карактеристике.
Употребљени метод упоређивањаУ основи користи методу екуалс () за упоређивање кључева.За упоређивање кључева користите метод поређења () или поређења до ().
Интерфејс реализованМапа, Сериализабле и ЦлонеаблеНавигабле Мап, Сериализабле анд Цлонеабле
ПерформансеДаје перформансе О (1).Омогућава перформансе О (лог н)
Структура податакаКористи хасх таблицу као структуру података.Користи Црвено-црно дрво за чување података.
Хомогени и хетерогени елементиОмогућује хомогене и хетерогене елементе, јер не врши сортирање.Омогућује само хомогене елементе док врши сортирање.
Користите случајевеКористи се када нам нису потребни парови кључ-вредност у поредјеном редоследу.Користи се када се морају сортирати парови кључ-вредност карте.

Закључак

Из чланка је закључено да је хасхмап општа примена интерфејса Мап. Омогућава перформансе О (1) док Треемап пружа перформансе О (лог (н)). Стога је ХасхМап обично бржи од ТрееМап-а.

Препоручени чланци

Ово је водич за ХасхМап и ТрееМап. Овде смо разговарали о уводу у ХасхМап вс ТрееМап, разликама између Хасхмапа и Треемапа и упоредној табели. Можете и да прођете кроз друге наше предложене чланке да бисте сазнали више -

  1. ВебЛогиц вс ЈБосс
  2. Лист вс Сет
  3. Гит Фетцх вс Гит Пулл
  4. Кафка вс Спарк | Топ разлике
  5. Топ 5 разлике Кафка од Кинесис

Категорија: