Разлика између ХасхМап-а и ТрееМап-а на Јави
Садржај
ХасхМап и ТрееМап су класе Мап и оба имплементирају Мап интерфејс. Мапа је објект који чува парове кључ-вредност, где је сваки кључ јединствен, али могу постојати дупликате вредности. ХасхМап класа користи хасх табелу као структуру података. ТрееМап користи црвено-црно стабло као структуру података. Главна разлика између ХасхМап-а и Треемап-а је та ХасхМап не чува редослед уметања док, Треемап заиста.
Па започнимо нашу дискусију о разликама између ХасхМап-а и ТрееМап-а уз помоћ упоредног графикона приказаног доле.
- Упоредни графикон
- Дефиниција
- Кључне разлике
- Закључак
Упоредни графикон
Основе за упоређивање | ХасхМап | ТрееМап |
---|---|---|
Основни | ХасхМап не одржава редослијед уметања. | ТрееМап одржава редослијед уметања. |
Структура података | ХасхМап користи Хасх Табле као темељну структуру података. | ТрееМап користи црвено-црно дрво као темељну структуру података. |
Нулл Кеи анд Валуе | ХасхМап омогућава Нулл кључ једном огласа Нулл вредност било који број времена. | ТрееМап не дозвољава Нулл кључ, али дозвољава Нулл Вриједности било који број времена. |
Проширења и имплементације | ХасхМап проширује класу АбстрацтМап и имплементира Мап интерфејс. | ТрееМап проширује класу АбстрацтМап и имплементира СортедМап и НавигаблеМап интерфејс. |
Перформансе | ХасхМап ради брже. | ТрееМап у поређењу са ХасхМапом ради спорије. |
Дефиниција ХасхМап-а
ХасхМап је класа Мап. Користи хасх табле, као структура података за смештање пара вредности кључа мапе. Уметање пара кључ-вредност врши се коришћењем хасх код од тастери. Дакле, сваки кључ на мапи мора бити јединствен јер ће се користити за дохваћање вриједности.
Редослед уметања у ХасхМап је не сачувано, што значи да објект хасхмап не враћа елементе у редоследу у који су убачени. С друге стране, редослед враћања елемената није фиксиран.
Тхе кључ је дозвољено да буде НУЛА одједном, али оно вредности може бити НУЛА у било којем тренутку. ХасхМап може да садржи хетерогена објекти за кључеве као и вредности.
Постоје четири конструктора ХасхМап-а:
ХасхМап () ХасхМап (Мап м) ХасхМап (инт капацитет), ХасхМап (инт капацитет, флоат филлРатио)
Тхе први конструктор ствара празан објект ХасхМап-а. Тхе друго конструктор иницијализира ХасхМап користећи елементе Мап м. Тхе треће конструктор иницијализира ХасхМап са капацитетом наведеним у аргументу. Тхе четврто конструктор иницијализира капацитет као и омјер испуњавања ХасхМап објекта.
Подразумевано капацитет ХасхМап-а је 16, и подразумевано омјер пуњења ХасхМап-а је 0.75.
Дефиниција ТрееМап-а
Као ХасхМап, ТрееМап је такође и класа Мап. ТрееМап се проширује АбстрацтМап класе и опреме НавигабелМап и СортедМап. Објекти ТрееМап чувају елементе мапе у структури стабала. Структура података која се користи за чување мапе је Црвено-црно дрво.
ТрееМап чува пар вредности кључа у поређеном редоследу што помаже у брзом проналажењу елемената. Објект ТрееМап враћа елементе у сортирано (узлазни) наручити.
Постоје четири конструктора ТрееМап-а:
ТрееМап () ТрееМап (компаратор <? Супер К> цомп) ТрееМап (Мап <? Проширује К,? Проширује В> м) ТрееМап (СортедМап Тхе први конструктори креирају празан објект ТрееМап-а који би га природним редоследом сортирали. Тхе друго конструктор ће креирати празну мапу стабала коју ће разврстати по Цомпаратор цмп. Тхе треће Конструктор горе ће створити мапу карте која ће се иницијализирати помоћу уноса Мапа м. Тхе четврто конструктор ће створити мапу карте која ће се иницијализирати помоћу уноса СортедМап см. Треемап нема своју нову методу, користи метод интерфејса НавигаблеМап и СортедМап и класу АбстрацтМап. ТрееМап треба користити само када вам је потребан пар кључева у сортираном облику. Како сортирање укључује трошкове перформанси. Будући да је ХасхМап несинхронизован, ради брже.
Закључак: