Salesforce Apex – mapa

Salesforce Apex Mapa



Salesforce Apex mapa je dátová štruktúra, ktorá sa používa hlavne v spúšťacích scenároch a pomáha načítať viac údajov naraz do databázy Salesforce ako zoznam. Ale ukladá a organizuje údaje vo formáte párov {key:value}. Budeme diskutovať o zbierke máp v programovacom jazyku Apex a jej metódach. Tu použijeme štandardný objekt Account v Salesforce pre všetky príklady. Poďme sa rýchlo ponoriť do tohto tutoriálu.

Mapa

Mapa berie ako vstup údaje páru {key:value} a ukladá ich do štandardných alebo vlastných objektov Salesforce. Môže mať sObject ako kľúč alebo hodnotu.







Tvorba mapy

Zadaním typov údajov kľúča a hodnoty spolu s názvom objektu je možné vytvoriť mapu. Tu sa na jeho vytvorenie použije nové kľúčové slovo. Môže byť voliteľné odovzdať prvky počas vytvárania.



Syntax prázdnej mapy:

Mapa map_obj = nová mapa():

Všeobecná syntax:

Mapa map_obj = nová mapa{

Key => hodnota,....};

Syntax sObject:

Mapa map_obj = nová mapa{

Key => hodnota,....};

Tu môže byť objekt sObject štandardný alebo vlastný objekt. V celom tomto článku sa budeme zaoberať iba mapou s objektom „Účet“.



Pozrime sa jeden po druhom na metódy, ktoré sú podporované kolekciou „map“ Apex.





Nastavenie prostredia

1. Rýchlo sa prihláste do Salesforce a kliknutím na ikonu ozubeného kolieska otvorte „Developer Console“.



2. Potom otvorte „Anonymné okno“ kliknutím na „Ladiť“ a „Otvoriť anonymné okno“.

Všeobecný príklad:

Najprv uvidíme vytvorenie všeobecnej mapy vytvorením mapy s dvoma subjektmi: „subject_id“, ktorý funguje ako kľúč a „hodnota“ ako názov subjektu.

Mapa programovanie=nová Mapa{1=> 'Linux',2=> 'Python'};

system.debug(programovanie);

Výkon:

  1. Kliknite na „Vykonať“.
  2. Začiarknite možnosť „Len ladiť“. Výstup môžete vidieť v „Protokole vykonania“.

Mapové metódy

Najprv vytvoríme mapu z objektu „Účet“. Vytvoríme tri účty s menami jeden po druhom. Potom deklarujeme mapu s kľúčom a hodnotou ako zadajte a odovzdajte predchádzajúce tri účty do mapy zadaním niektorých hodnôt.

// Vytvorte 3 účty s názvom

Účet účet1 = nový účet(Názov='Tip pre Linux');

Účet účet2 = nový účet(Názov='Salesforce');

Účet účet3 = nový účet(Názov='Python');

// Pridajte vyššie uvedené účty ako kľúče do súboru map_obj

Mapa map_obj = nová mapa{

účet1 => 1000,účet2 => 2000,účet3 => 3000};

System.debug(map_obj);

Výkon:

Môžete vidieť, že „map_obj“ ukladá tri účty.

1. Map.values()

Aby sme vrátili iba hodnoty z danej mapy, môžeme použiť metódu values(). Nepotrebuje žiadne parametre. Jednoducho vráti zoznam hodnôt oddelených čiarkou.

Syntax:

map_object.values()

Príklad:

Vráťme všetky hodnoty z predchádzajúcej mapy. Uistite sa, že musíte vykonať predchádzajúci vzorový kód (vytvorte mapu s tromi účtami). V opačnom prípade sa zobrazí chyba. Kód by mal existovať aj v konzole.

// Vráti hodnoty pre všetky kľúče pomocou values()

System.debug(map_obj.values());

Výkon:

V súbore map_obj sú iba tri páry kľúč:hodnota. Hodnoty sú: 1000, 2000 a 3000.

2. Map.keySet()

Vráťte kľúče sú prítomné v objekte mapy. Podobne ako pri values(), nie je potrebné odovzdávať do tejto metódy žiadny parameter.

Syntax:

map_object.keySet()

Príklad:

Vráťme všetky kľúče z predchádzajúcej mapy. Uistite sa, že ste vykonali predchádzajúci vzorový kód (vytvorte mapu s tromi účtami). V opačnom prípade sa zobrazí chyba. Kód by mal existovať aj v konzole.

// Vráti všetky kľúče pomocou keySet()

System.debug(map_obj.keySet());

Výkon:

V súbore map_obj sú iba tri páry kľúč:hodnota. Kľúče sú: {Account:{Name=Linux Hint}, Account:{Name=Python} a Account:{Name=Salesforce}.

3. Map.size()

V niektorých scenároch potrebujeme poznať celkové páry položiek (kľúč:hodnota), ktoré sú prítomné na mape Apex. Size() je metóda, ktorá vracia celkový počet párov (kľúč:hodnota), ktoré existujú v objekte map_object. Pre túto metódu nie sú potrebné parametre.

Syntax:

map_object.size()

Príklad:

Vráti veľkosť predchádzajúceho objektu mapy.

// Vráti celkový počet párov pomocou size()

System.debug(map_obj.size());

Výkon:

Keďže existujú iba 3 páry, vrátená veľkosť () je 3.

4. Map.get()

Prístup k hodnotám z mapy pomocou kľúča sa vykonáva pomocou metódy get(). Aby sme to dosiahli, musíme odovzdať kľúč ako parameter metóde get(). Ak je odovzdaný neznámy kľúč, vráti chybu.

Syntax:

map_object.get(key)

Príklad:

Vráťte hodnoty kľúča-2 a kľúča-1 samostatne.

// získame hodnotu druhého kľúča

System.debug(map_obj.get(account2));

// získame hodnotu prvého kľúča

System.debug(map_obj.get(account1));

Výkon:

Tu je 2000 hodnota kľúča „Salesforce“ a 1000 je hodnota kľúča „Linux Hint“.

5. Map.clear()

Všetky páry v kolekcii máp Apex je možné vymazať naraz pomocou metódy clear(). Nepotrebuje žiadne parametre.

Syntax:

map_object.clear()

Príklad:

Odstráňte páry v predchádzajúcom „map_obj“.

//Before clear()

System.debug(map_obj);

// Odstráňte všetky páry pomocou clear()

map_obj.clear();

//Po vymazaní()

System.debug(map_obj);

Výkon:

Predtým boli v „map_obj“ 3 páry kľúč – hodnota. Po použití metódy clear() sa všetky 3 odstránia.

6. Map.equals()

Pomocou metódy equals() môžeme porovnať dva objekty mapy. Booleovská hodnota true sa vráti, ak sú všetky kľúče a hodnoty rovnaké v oboch objektoch mapy. Booleovská hodnota false sa vráti, ak sa aspoň jedna hodnota líši.

Syntax:

map_object1.equals(map_object2)

Príklad:

Vytvorme tri mapové objekty s jedným párom kľúč:hodnota, každý s ohľadom na objekt „Účet“. Porovnajte tieto objekty medzi nimi.

// Účet-1

Účet účet1 = nový účet(Názov='Tip pre Linux');

Mapa map_obj1 = nová mapa{

účet1 => 1000};

System.debug('Mapa - 1:' + mapa_obj1);

// Účet-2

Účet účet2 = nový účet(Názov='Tip pre Linux');

Mapa map_obj2 = nová mapa{

účet2 => 1000};

System.debug('Mapa - 2:' + mapa_obj1);

// Účet-3

Účet účet3 = nový účet(Názov='Python');

Mapa map_obj3 = nová mapa{

účet3 => 2000};

System.debug('Mapa - 3:' + mapa_obj3);

// rovná sa()

System.debug('Mapa 1 & Mapa 2 sa rovnajú: '+ map_obj1.equals(map_obj2));

System.debug('Mapa 1 & Mapa 3 sa rovnajú: '+ map_obj1.equals(map_obj3));

Výkon:

Prvý a druhý objekt mapy sú rovnaké, pretože kľúče aj hodnoty sú v oboch objektoch rovnaké. Prvý a tretí objekt mapy nie sú rovnaké, pretože kľúče a hodnoty sú odlišné.

7. Map.isEmpty()

Či je mapa prázdna alebo nie, môžeme skontrolovať pomocou metódy isEmpty(). True sa vráti, ak je zbierka máp Apex prázdna. V opačnom prípade sa vráti false. Podobne ako pri metóde size() nebude mať žiadny parameter.

Syntax:

map_object.isEmpty()

Príklad:

Vytvorme dva objekty mapy, ktoré súvisia s „účtom“ a skontrolujeme, či sú prázdne alebo nie.

// Účet-1

Účet účet1 = nový účet(Názov='Tip pre Linux');

Mapa map_obj1 = nová mapa{

účet1 => 1000};



// Účet-2

Mapa map_obj2 = new Map();

// je prázdny()

System.debug('Mapa-1 je prázdna: '+map_obj1.isEmpty());

System.debug('Mapa-2 je prázdna: '+map_obj2.isEmpty());

Výkon:

Prvá mapa nie je prázdna, pretože obsahuje jeden pár kľúč – hodnota. Druhá mapa je prázdna, pretože žiadnu neobsahuje.

8. Map.remove()

Metóda remove() v kolekcii máp Apex sa používa na odstránenie konkrétneho páru kľúč – hodnota na základe kľúča, ktorý je v ňom špecifikovaný ako parameter. Ak kľúč neexistuje, zobrazí sa chyba.

Syntax:

map_object.remove(key)

Príklad:

Poďme vytvoriť mapu s dvoma položkami a odstrániť prvú položku.

Účet účet1 = nový účet(Názov='Tip pre Linux');

Účet účet2 = nový účet(Názov='Python');

Mapa map_obj = nová mapa{

účet1 => 1000,účet2 => 4000};

System.debug('Existujúca mapa'+ map_obj);

//odstráni()

map_obj.remove(account1);

System.debug('Po odstránení prvej položky:'+map_obj);

Výkon:

Po odstránení prvej položky z mapy existuje iba jedna položka – {Account:{Name=Python}=4000}.

9. Map.put()

Pomocou tejto metódy môžeme priamo pridať jednu položku do objektu mapy naraz. Akceptuje dva parametre: „kľúč“ je prvý parameter, zatiaľ čo „hodnota“ je druhý parameter.

Syntax:

map_object.put(kľúč,hodnota)

Príklad:

Vytvorme mapu s jedným párom kľúč – hodnota. Potom použijeme metódu „put“ na vloženie „account2“.

// Účet-1

Účet účet1 = nový účet(Názov='Tip pre Linux');

Mapa map_obj1 = nová mapa{

účet1 => 1000};

System.debug('Aktuálna mapa: '+map_obj1);

// Účet-2

Účet účet2 = nový účet(Názov='Python');

// vložte ()

map_obj1.put(account2,2000);

System.debug('Konečná mapa: '+map_obj1);

Výkon:

Predtým bol na mape iba jeden pár kľúč – hodnota, a to {Account:{Name=Linux Hint}=1000}. Po pridaní „account2“ obsahuje konečná mapa dva páry kľúč – hodnota, ktoré sú {Account:{Name=Linux Hint}=1000 a Account:{Name=Python}=2000}.

10. Map.putAll()

Pomocou tejto metódy môžeme priamo pridať jednu alebo viacero položiek do objektu mapy naraz. Ako parameter berie objekt kolekcie máp.

Syntax:

map_object1.putAll(map_object2)

Príklad:

Vytvorme mapu s dvoma pármi kľúč-hodnota a znova vytvorte prázdny objekt mapy bez položiek. Pomocou metódy putAll() pridajte položky, ktoré sú dostupné v prvom objekte mapy, do druhého objektu mapy.

Účet účet1 = nový účet(Názov='Tip pre Linux');

Účet účet2 = nový účet(Názov='Python');

Mapa map_obj1 = nová mapa{

účet1 => 1000, účet2=> 2000};

System.debug(map_obj1);

Mapa map_obj2 = new Map();

//putAll()

map_obj2.putAll(map_obj1);

System.debug(map_obj2);

Výkon:

Záver

Mapa je dátová štruktúra, ktorá sa používa hlavne v spúšťacích scenároch a pomáha načítať viac údajov naraz do databázy Salesforce ako zoznam. Máme dve možnosti, ako pridať položky do mapy: pomocou put() a putAll(). Metóda remove() sa používa na odstránenie konkrétnej položky z kolekcie máp Apex. Metóda clear() sa používa na odstránenie všetkých položiek. Tiež sme sa naučili, ako vrátiť hodnoty a kľúče pomocou metód values() a keySet().