Салесфорце Апек – Мапа

Salesforce Apek Mapa



Салесфорце Апек мапа је структура података која се углавном користи у сценаријима покретача и помаже да се учита више података одједном у Салесфорце базу података попут листе. Али он чува и организује податке у формату пара {кеи:валуе}. Разговараћемо о колекцији мапа у Апек програмском језику и његовим методама. Овде ћемо користити стандардни објекат налога у Салесфорце-у за све примере. Хајде да брзо заронимо у овај водич.

Мапа

Мапа узима податке пара {кеи:валуе} као улаз и чува их у Салесфорце стандардним или прилагођеним објектима. Може узети сОбјецт као кључ или вредност.







Мап Цреатион

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



Синтакса празне карте:

Мапа<тип_података_кључа, тип_података_вредности> мап_обј = нова Мапа<тип_података_кључа, тип_података_вредности>():

Генеричка синтакса:

Мапа<тип_података, вредност_података> мап_обј = нова мапа<тип_података_кључа, тип_података вредности>{

Кључ => вредност,....};

сОбјецт синтакса:

Мапа<сОбјецт, валуе_дататипе> мап_обј = нев Мап<сОбјецт, валуе_дататипе>{

Кључ => вредност,....};

Овде сОбјецт може бити стандардни или прилагођени објекат. У целом овом чланку бавићемо се само мапом са сОбјецтом „Налог“.



Хајде да видимо методе које подржава Апек колекција „мапа“ једну по једну.





Енвиронмент Сетуп

1. Брзо се пријавите на Салесфорце и отворите „Конзолу за програмере“ тако што ћете кликнути на икону зупчаника.



2. Затим отворите „Анонимни прозор“ тако што ћете кликнути на „Дебуг“ и „Опен Екецуте Анонимоус Виндов“.

Генерички пример:

Прво ћемо видети генеричко креирање мапе креирањем мапе са два субјекта: „субјецт_ид“ који делује као кључ и „валуе“ као назив субјекта.

Мап<Интегер, Стринг> программинг=нев Мап<Интегер, Стринг>{1=> 'Линук',2=> 'Питхон'};

систем.дебуг(програмирање);

Излаз:

  1. Кликните на „Изврши“.
  2. Означите опцију „Само за отклањање грешака“. Излаз можете видети у „Евиденцији извршења“.

Мап Метходс

Прво, креирамо мапу од објекта „Аццоунт“. Креирамо три налога са именима један по један. Затим декларишемо мапу са кључем и вредношћу као <сОбјекат, цео број> откуцајте и проследите претходна три налога на мапу дајући неке вредности.

// Креирајте 3 налога са именом

Аццоунт аццоунт1 = нев Аццоунт(Наме='Линук Хинт');

Аццоунт аццоунт2 = нев Аццоунт(Наме='Салесфорце');

Аццоунт аццоунт3 = нови налог(Наме='Питхон');

// Додајте горње налоге као кључеве у мап_обј

Мап<сОбјецт, Интегер> мап_обј = нев Мап<сОбјецт, Интегер>{

рачун1 => 1000,рачун2 => 2000,рачун3 => 3000};

Систем.дебуг(мап_обј);

Излаз:

Можете видети да „мап_обј“ чува три налога.

1. Мап.валуес()

Да бисмо вратили само вредности са дате мапе, можемо користити метод валуес(). Неће узети никакве параметре. Једноставно враћа листу вредности раздвојених зарезима.

Синтакса:

мап_објецт.валуес()

Пример:

Вратимо све вредности са претходне мапе. Уверите се да морате да извршите претходни пример кода (направите мапу са три налога). У супротном, добићете грешку. Код такође треба да постоји у конзоли.

// Враћа вредности за све кључеве користећи валуес()

Систем.дебуг(мап_обј.валуес());

Излаз:

Постоје само три пара кључ: вредност у мап_обј. Вредности су: 1000, 2000 и 3000.

2. Мап.кеиСет()

Повратак кључеви су присутни у објекту мапе. Слично вредностима(), нема потребе да се прослеђује ниједан параметар овом методу.

Синтакса:

мап_објецт.кеиСет()

Пример:

Вратимо све кључеве са претходне мапе. Уверите се да сте извршили претходни пример кода (направите мапу са три налога). У супротном, добићете грешку. Код такође треба да постоји у конзоли.

// Врати све кључеве користећи кеиСет()

Систем.дебуг(мап_обј.кеиСет());

Излаз:

Постоје само три пара кључ: вредност у мап_обј. Кључеви су: {Аццоунт:{Наме=Линук Хинт}, Аццоунт:{Наме=Питхон} и Аццоунт:{Наме=Салесфорце}.

3. Мап.сизе()

У неким сценаријима, морамо да знамо укупан број парова ставки (кључ:вредност) који су присутни на Апек мапи. Сизе() је метод који враћа укупне парове (кључ:вредност) који постоје у објекту мапе. Параметри нису потребни за ову методу.

Синтакса:

мап_објецт.сизе()

Пример:

Врати величину претходног објекта карте.

// Враћа укупан број парова користећи сизе()

Систем.дебуг(мап_обј.сизе());

Излаз:

Пошто постоје само 3 пара, враћена величина() је 3.

4. Мап.гет()

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

Синтакса:

мап_објецт.гет(кључ)

Пример:

Вратите вредности  кључ-2 и кључ-1 одвојено.

// добијамо вредност другог кључа

Систем.дебуг(мап_обј.гет(аццоунт2));

// добијамо вредност првог кључа

Систем.дебуг(мап_обј.гет(аццоунт1));

Излаз:

Овде, 2000 је вредност кључа „Салесфорце“, а 1000 је вредност кључа „Линук Хинт“.

5. Мап.цлеар()

Сви парови у Апек колекцији мапа могу се истовремено избрисати помоћу методе цлеар(). Неће узети никакве параметре.

Синтакса:

мап_објецт.цлеар()

Пример:

Уклоните парове у претходном „мап_обј“.

//Пре цлеар()

Систем.дебуг(мап_обј);

// Уклони све парове користећи цлеар()

мап_обј.цлеар();

//Након цлеар()

Систем.дебуг(мап_обј);

Излаз:

Раније су у „мап_обј“ постојала 3 пара кључ/вредност. Након примене методе цлеар(), сва 3 се бришу.

6. Мап.екуалс()

Можемо да упоредимо два објекта мапе помоћу методе екуалс(). Боолеан вредност труе се враћа ако су сви кључеви и вредности исти у оба објекта мапе. Док се Боолеан вредност фалсе враћа ако је бар једна вредност другачија.

Синтакса:

мап_објецт1.екуалс(мап_објецт2)

Пример:

Хајде да направимо три објекта мапе са једним паром кључ: вредност, сваки у односу на објекат „Налог“. Упоредите ове предмете међу њима.

// Рачун-1

Аццоунт аццоунт1 = нев Аццоунт(Наме='Линук Хинт');

Мап<сОбјецт, Интегер> мап_обј1 = нев Мап<сОбјецт, Интегер>{

аццоунт1 => 1000};

Систем.дебуг('Мапа - 1:' + мап_обј1);

// Рачун-2

Аццоунт аццоунт2 = нев Аццоунт(Наме='Линук Хинт');

Мап<сОбјецт, Интегер> мап_обј2 = нев Мап<сОбјецт, Интегер>{

аццоунт2 => 1000};

Систем.дебуг('Мапа - 2:' + мап_обј1);

// Рачун-3

Аццоунт аццоунт3 = нови налог(Наме='Питхон');

Мап<сОбјецт, Интегер> мап_обј3 = нев Мап<сОбјецт, Интегер>{

аццоунт3 => 2000};

Систем.дебуг('Мапа - 3:' + мап_обј3);

// једнако()

Систем.дебуг('Мапа 1 и Мапа 2 су једнаки: '+ мап_обј1.екуалс(мап_обј2));

Систем.дебуг('Мапа 1 и Мапа 3 су једнаке: '+ мап_обј1.екуалс(мап_обј3));

Излаз:

Први и други објекат мапе су једнаки пошто су и кључ и вредности исти у оба објекта. Први и трећи објекат мапе нису једнаки јер су кључеви и вредности различити.

7. Мап.исЕмпти()

Можемо да проверимо да ли је мапа празна или не помоћу методе исЕмпти(). Тачно се враћа ако је колекција Апек мапа празна. У супротном, враћа се фалсе. Слично методи сизе(), неће узети ниједан параметар.

Синтакса:

мап_објецт.исЕмпти()

Пример:

Хајде да направимо два објекта мапе који се односе на „Налог“ и проверимо да ли су ова два празна или не.

// Рачун-1

Аццоунт аццоунт1 = нев Аццоунт(Наме='Линук Хинт');

Мап<сОбјецт, Интегер> мап_обј1 = нев Мап<сОбјецт, Интегер>{

аццоунт1 => 1000};



// Рачун-2

Мап<сОбјецт, Интегер> мап_обј2 = нев Мап<сОбјецт, Интегер>();

// Празно()

Систем.дебуг('Мапа-1 је празна: '+мап_обј1.исЕмпти());

Систем.дебуг('Мапа-2 је празна: '+мап_обј2.исЕмпти());

Излаз:

Прва мапа није празна јер садржи један пар кључ-вредност. Друга мапа је празна јер је не садржи.

8. Мап.ремове()

Метод ремове() у Апек колекцији мапа се користи за уклањање одређеног пара кључ/вредност на основу кључа који је у њему наведен као параметар. Ако кључ не постоји, јавља се грешка.

Синтакса:

мап_објецт.ремове(кључ)

Пример:

Хајде да направимо мапу са две ставке и уклонимо прву ставку.

Аццоунт аццоунт1 = нев Аццоунт(Наме='Линук Хинт');

Аццоунт аццоунт2 = нев Аццоунт(Наме='Питхон');

Мап<сОбјецт, Интегер> мап_обј = нев Мап<сОбјецт, Интегер>{

аццоунт1 => 1000, аццоунт2 => 4000};

Систем.дебуг('Постојећа мапа'+ мап_обј);

//уклони()

мап_обј.ремове(аццоунт1);

Систем.дебуг('Након уклањања прве ставке:'+мап_обј);

Излаз:

Након уклањања прве ставке са мапе, постоји само једна ставка – {Аццоунт:{Наме=Питхон}=4000}.

9. Мап.пут()

Користећи овај метод, можемо директно додати једну по једну ставку објекту мапе. Прихвата два параметра: „кључ“ је први параметар, док је „вредност“ други параметар.

Синтакса:

мап_објецт.пут(кључ,вредност)

Пример:

Хајде да направимо мапу са једним паром кључ/вредност. Затим користимо методу „пут“ да убацимо „аццоунт2“.

// Рачун-1

Аццоунт аццоунт1 = нев Аццоунт(Наме='Линук Хинт');

Мап<сОбјецт, Интегер> мап_обј1 = нев Мап<сОбјецт, Интегер>{

аццоунт1 => 1000};

Систем.дебуг('Стварна мапа: '+мап_обј1);

// Рачун-2

Аццоунт аццоунт2 = нев Аццоунт(Наме='Питхон');

// ставити()

мап_обј1.пут(аццоунт2,2000);

Систем.дебуг('Коначна мапа: '+мап_обј1);

Излаз:

Раније је на мапи постојао само један пар кључ/вредност, а то је {Аццоунт:{Наме=Линук Хинт}=1000}. Након додавања „аццоунт2“, последња мапа садржи два пара кључ/вредност који су {Аццоунт:{Наме=Линук Хинт}=1000 и Аццоунт:{Наме=Питхон}=2000}.

10. Мап.путАлл()

Користећи овај метод, можемо директно да додамо једну или више ставки у објекат мапе истовремено. Као параметар узима објекат колекције мапа.

Синтакса:

мап_објецт1.путАлл(мап_објецт2)

Пример:

Хајде да направимо мапу са два пара кључ/вредност и поново направимо празан објекат мапе без ставки. Користите метод путАлл() да додате ставке које су доступне у првом објекту мапе у други објекат мапе.

Аццоунт аццоунт1 = нев Аццоунт(Наме='Линук Хинт');

Аццоунт аццоунт2 = нев Аццоунт(Наме='Питхон');

Мап<сОбјецт, Интегер> мап_обј1 = нев Мап<сОбјецт, Интегер>{

аццоунт1 => 1000, аццоунт2=> 2000};

Систем.дебуг(мап_обј1);

Мап<сОбјецт, Интегер> мап_обј2 = нев Мап<сОбјецт, Интегер>();

//Стави све()

мап_обј2.путАлл(мап_обј1);

Систем.дебуг(мап_обј2);

Излаз:

Закључак

Мапа је структура података која се углавном користи у сценаријима покретача и помаже да се учита више података одједном у Салесфорце базу података попут листе. Имамо две опције за додавање ставки на мапу: коришћењем пут() и путАлл(). Метода ремове() се користи за уклањање одређене ставке из колекције Апек мапа. Цлеар() метода се користи за брисање свих ставки. Такође, научили смо како да вратимо вредности и кључеве користећи методе валуес() и кеиСет().