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

ХасхМап вам омогућава да мапирате кључеве на одређену вредност и складиштите ставке насумичним редоследом. У овом чланку ћете научити како да користите Јава ХасхМап класу за складиштење, преузимање, ажурирање и брисање података.

Креирање Јава ХасхМап-а

Јава ХасхМап класа има четири конструктора. Подразумевани конструктор је најпопуларнији, омогућава вам да креирате празан ХасхМап који ће имати подразумевани капацитет од 16.

увозјава.утил.ХасхМап;
јавностикласаГлавни{
јавностистатичнапразнинаглавни(Стринг[] аргументи){
//креирање ХасхМап-а
ХасхМап<Цео број, низ> фруитсМап = нова ХасхМап<Цео број, низ>();
}
}

Тхе Јава класа изнад користи подразумевани ХасхМап конструктор за креирање структуре података тзв

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

Чување података у ХасхМап-у

Можете извршити неколико операција користећи класу ХасхМап. Тхе стави (К кључ, В вредност) метода је међу најпопуларнијим методама и омогућава вам да складиштите податке користећи пар кључ-вредност, где се сваки кључ пресликава на вредност.

увозјава.утил.ХасхМап;
јавностикласаГлавни{
јавностистатичнапразнинаглавни(Стринг[] аргументи){
//креирање ХасхМап-а
ХасхМап<Цео број, низ> фруитсМап = нова ХасхМап<Цео број, низ>();
//додавање ставки у ХасхМап
фруитсМап.пут (3,"Крушка");
фруитсМап.пут (6,"Манго");
фруитсМап.пут (7,"Шљива");
фруитсМап.пут (4,"Аппле");
фруитсМап.пут (1,"Оранге");
фруитсМап.пут (5,"Бобице");
фруитсМап.пут (2,"Диња");
}
}

Ажурирана класа изнад користи методу пут() за додавање неколико воћа и њиховог кључа у постојећу структуру података фруитсМап. Важно је напоменути да горњи код додаје податке на карту насумично. Овај детаљ ће постати користан када почнете да читате податке са ХасхМап-а.

Читање података са ХасхМап-а

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

Преузми ХасхМап објекат

Ако желите да преузмете податке као објекат, можете једноставно приступити ХасхМап објекту, који је у примеру испод фруитсМап.

//Погледајте све ставке као објекат
Систем.оут.принтлн(фруитсМап);

Додавањем горње линије кода у класу Маин, штампа се следећи излаз у конзоли:

{1=Наранџа, 2=Диња, 3=Крушка, 4=Јабука, 5=Бобице, 6=Манго, 7=Шљива}

Иако је свака вредност насумично додата у ХасхМап, из излаза ћете видети да ХасхМап чува вредности у растућем редоследу, на основу кључа додељеног свакој вредности. Ово је карактеристика која ХасхМапс ставља испред других структура података као што је Структура података низа који подржавају само линеарно складиштење.

Преузми све податке појединачно

Ако желите да преузмете све податке појединачно, онда можете користити за метод који вам омогућава да прелазите кроз ХасхМап и одштампате сваку вредност и њен одговарајући кључ. Овај метод користи интерфејс Мап који имплементира класа ХасхМап.

//погледај све ставке са итератором 
за (ХасхМап. Ентри<Цео број, низ> воће: фруитсМап.ентриСет())
{
Систем.оут.принтлн("Кључ: " + фруит.гетКеи() + " вредност: " + фруит.гетВалуе());
}

Додавање горње методе у ваш код ће одштампати следећи излаз у вашој конзоли:

Кључ: 1 Вредност: Наранџаста
Кључ: 2 Вредност: Диња
Кључ: 3 Вредност: Крушка
Кључ: 4 Вредност: Аппле
Кључ: 5 Вредност: Бобице
Кључ: 6 Вредност: Манго
Кључ: 7 Вредност: Шљива

Преузми одређену вредност

ХасхМап класа има а добити() метод који узима кључ и враћа вредност мапирану на овај кључ.

//дохвати једну ставку
Систем.оут.принтлн(фруитсМап.добити(4));

Горњи ред кода штампа следећи излаз у конзоли:

Аппле

Ажурирање података у ХасхМап-у

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

// заменити једну ставку
фруитсМап.реплаце (4, "Грожђе");
Систем.оут.принт(фруитсМап);

Извршавање кода изнад штампа следећи објекат у конзоли:

{1=наранџа, 2=диња, 3=крушка, 4=грожђе, 5=бобице, 6=манго, 7=шљива}

Као што можете видети из објекта изнад, „Грожђе“ се пресликава на 4, која је претходно била мапирана на „Јабука“.

Друга метода реплаце() узима кључ повезан са постојећом ставком, постојећом ставком и заменском вредношћу.

// заменити једну ставку
фруитсМап.реплаце (4, "Аппле", "Грожђе");
Систем.оут.принт(фруитсМап);

Код изнад штампа следећи објекат у конзоли:

{1=наранџа, 2=диња, 3=крушка, 4=грожђе, 5=бобице, 6=манго, 7=шљива}

Брисање података са ХасхМап-а

Можете или да избришете одређену ставку са своје ХасхМап користећи уклони() методом или избришите све податке користећи јасно() методом. Метода ремове() узима један или два аргумента. Први метод уклањања узима кључ повезан са вредношћу коју желите да уклоните:

//избришите једну ставку
фруитсМап.уклонити(5);
Систем.оут.принтлн(фруитсМап);

Код изнад штампа следећи објекат у конзоли:

{1=наранџа, 2=диња, 3=крушка, 4=јабука, 6=манго, 7=шљива}

Ажурирани објекат показује да ставка са паром кључ/вредност 5 и „Бобице“ више није део фруитсМап-а. Други метод ремове() узима кључ и вредност на коју се мапира.

//избришите једну ставку
фруитсМап.ремове (5, "Бобице");
Систем.оут.принтлн(фруитсМап);

Код изнад такође штампа следећи објекат у конзоли:

{1=наранџа, 2=диња, 3=крушка, 4=јабука, 6=манго, 7=шљива}

Метода цлеар() не узима аргументе и враћа воид.

фруитсМап.јасно();
Систем.оут.принтлн(фруитсМап);

Извршавање кода изнад исписује следећи празан објекат у конзоли:

{}

Сада можете да изводите ЦРУД операције на Јава ХасхМап-у

ХасхМапс су једна од неколико популарних структура података које треба да знате. Овај чланак вас учи како да извршите ЦРУД операције на Јава ХасхМапс. ХасхМап је веома корисна структура података, њена главна продајна тачка је да је то једна од најефикаснијих структура података, због своје брзине приступа. Међутим, такође је веома згодан за употребу, јер омогућава насумично складиштење.