Кратки увод у ТрееМап у Јави са примерима



Овај чланак ће вам пружити детаљно и свеобухватно знање о ТрееМап-у у Јави са примерима метода и конструктора.

Имплементација интерфејса Мап у Јави је веома важан задатак. У ту сврху имамо ТрееМап и ХасхМап . У овом чланку наш фокус биће на ТрееМап у следећим редом:

Шта је ТрееМап у Јави?

ТрееМап у Јави користи се за примену интерфејса Мап и НавигаблеМап заједно са апстрактном класом. Мапа се сортира према природном редоследу њених кључева или упоређивачем који се пружа у време израде карте, у зависности од тога који се конструктор користи. Ово се показало као ефикасан начин сортирања и чувања парова кључ / вредност.





TreeMap-in-JavaРедослед складиштења који одржава мапа стабла мора бити у складу са једнаким вредностима као и било која друга сортирана мапа, без обзира на експлицитне упоређиваче. Мапа дрветаимплементација није синхронизована у смислу да ако мапи истовремено приступа више нити, истовремено и бар једна од нити структурно модификује мапу, она мора бити синхронизована споља.

Карактеристике ТрееМапс-а

  • Ова класа је члан Оквира Јава Цоллецтионс Фрамеворк.



  • Класа имплементира интерфејсе Мап, укључујући НавигаблеМап, СортедМап и проширује АбстрацтМап

  • ТрееМап у Јави не дозвољава нулл кључеве (попут Мап) и тиме се баца НуллПоинтерЕкцептион. Међутим, више нулл вредности може бити повезано са различитим кључевима.

  • Сви парови Мап.Ентри враћени методама у овој класи и њени погледи представљају снимке мапирања у тренутку када су произведени.



  • Не подржавају методу Ентри.сетВалуе.

Важне тачке које треба запамтити

  1. Поред имплементације интерфејса Мап, Јава ТрееМап такође имплементира НавигаблеМап и индиректно имплементира СортедМап интерфејс. ТрееМап такође проширује класу АбстрацтМап.

  2. Уноси у ТрееМап сортирани су у природном редоследу његових кључева. Такође пружа конструктор који обезбеђује упоређивач који се користи за наручивање. Дакле, ако користите било коју класу као кључ, уверите се да она примењује упоредиви интерфејс за природно наручивање. Погледајте питања о интервјуима за збирке Јава да бисте разумели важност ових метода.

  3. Имплементација Јава ТрееМап обезбеђује загарантоване трошкове дневника (н) за операције цонтентсКеи, добијање, стављање и уклањање.

  4. ТрееМап није синхронизован и стога није сигуран у нити. За вишенитна окружења можете добити омотану синхронизацију помоћу методе Цоллецтионс.синцхронизедСортедМап.

  5. ТрееМап методе за добивање скупа кључева и вредности враћају Итератор који је брз по својој природи, тако да ће свака истовремена модификација бацити ЦонцуррентМодифицатионЕкцептион.

  6. ТрееМап у јави не дозвољава нулл кључеве, међутим, можете имати више нулл вредности повезаних са различитим кључевима.

Конструктори у ТрееМап-у

Градитељ Опис
ТрееМап () Израђује празну мапу стабла која ће бити сортирана користећи природни редослед његових кључева.
ТрееМап (Цомпаратор цомп) Израђује празну мапу засновану на дрвету која ће бити сортирана помоћу Цомпаратор цомп-а.
Карта дрвета (карта м) Иницијализује мапу дрвета са уносима из м, који ће бити сортирани користећи природни редослед тастера.
Карта дрвета (СортедМап см) Иницијализује мапу дрвета са уносима из СортедМап см, који ће бити сортирани истим редоследом као см.

Методе у ТрееМап-у

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

Пример ТрееМап-а у Јави

импорт јава.утил.ТрееМап јавна класа ТрееМапМаин {публиц статиц воид маин (Стринг аргс []) {// ТрееМап са државом као кључем и капиталом као вредност // ТрееМап чува елементе у природном редоследу кључева. ТрееМап цоунтриЦапиталМап = ново ТрееМап () цоунтриЦапиталМап.пут ('Индија', 'Делхи') цоунтриЦапиталМап.пут ('Јапан', 'Токио') цоунтриЦапиталМап.пут ('Француска', 'Париз') цоунтриЦапиталМап.пут ('Русија' , 'Москва') Систем.оут.принтлн ('-----------------------------') // Итерирање мапе дрвета користећи кеиСет ( ) и за сваку петљу Систем.оут.принтлн ('Итерирање мапе дрвета помоћу КеиСет () и за сваку петљу') за (Стринг цоунтриКеи: цоунтриЦапиталМап.кеиСет ()) {Систем.оут.принтлн ('Цоунтри:' + цоунтриКеи + ' и главни град: '+ цоунтриЦапиталМап.гет (цоунтриКеи))} Систем.оут.принтлн (' ----------------------------- ' )}}

Излаз:

мвц архитектура у јави са примером

Овим смо дошли до краја овог чланка ТрееМап у Јави. Ц. извините Едурека, поуздана компанија за учење на мрежи са мрежом од више од 250.000 задовољних ученика раширених широм света. Едурекин курс за обуку и сертификацију Јава Ј2ЕЕ и СОА дизајниран је за студенте и професионалце који желе да буду Јава програмер. Курс је дизајниран да вам пружи почетну предност у Јава програмирању и обучи вас како за основне тако и за напредне Јава концепте, заједно са разним Јава оквирима попут Хибернате & Спринг.

Имате питање за нас? Молимо вас да га спомињете у одељку за коментаре овог блога „ТрееМап у Јави“ и јавићемо вам се што је пре могуће.