Salesforce Apex – zemljevid

Salesforce Apex Zemljevid



Zemljevid Salesforce Apex je podatkovna struktura, ki se večinoma uporablja v prožilnih scenarijih in pomaga naložiti več podatkov hkrati v zbirko podatkov Salesforce kot seznam. Podatke pa shranjuje in organizira v obliki para {ključ:vrednost}. Govorili bomo o zbirki zemljevidov v programskem jeziku Apex in njenih metodah. Tu bomo za vse primere uporabili standardni objekt Account v Salesforce. Na hitro se potopimo v to vadnico.

Zemljevid

Map vzame podatke o paru {key:value} kot vhod in jih shrani v standardne objekte Salesforce ali objekte po meri. Kot ključ ali vrednost lahko vzame sObject.







Izdelava zemljevida

Preslikavo je mogoče ustvariti z določitvijo tipov podatkov ključa in vrednosti skupaj z imenom objekta. Tu je za ustvarjanje uporabljena nova ključna beseda. Posredovanje elementov med ustvarjanjem je lahko neobvezno.



Sintaksa praznega zemljevida:

Map map_obj = new Map():

Splošna sintaksa:

Map map_obj = new Map{

Ključ => vrednost,....};

Sintaksa sObject:

Map map_obj = new Map{

Ključ => vrednost,....};

Tu je sObject lahko standardni ali prilagojeni objekt. V tem celotnem članku se bomo ukvarjali samo z zemljevidom s objektom »Račun«.



Oglejmo si enega za drugim metode, ki jih podpira zbirka »zemljevidov« Apex.





Nastavitev okolja

1. Hitro se prijavite v Salesforce in odprite »Developer Console« s klikom na ikono zobnika.



2. Nato odprite »anonimno okno« s klikom na »Odpravljanje napak« in »Odpri izvedi anonimno okno«.

Splošni primer:

Najprej bomo videli ustvarjanje splošnega zemljevida z ustvarjanjem zemljevida z dvema subjektoma: »subject_id«, ki deluje kot ključ, in »value« kot ime subjekta.

Map programming=new Map {1=> 'Linux',2=> 'Python'};

system.debug(programiranje);

Izhod:

  1. Kliknite »Izvedi«.
  2. Označite možnost »Samo odpravljanje napak«. Rezultat si lahko ogledate v »Dnevniku izvajanja«.

Metode zemljevidov

Najprej ustvarimo zemljevid iz predmeta 'Račun'. Ustvarimo tri račune z imeni enega za drugim. Nato deklariramo zemljevid s ključem in vrednostjo kot vnesite in posredujte prejšnje tri račune na zemljevid tako, da podate nekaj vrednosti.

// Ustvarite 3 račune z imenom

Account account1 = nov račun();

Račun account2 = nov račun();

Račun account3 = nov račun();

// Dodajte zgornje račune kot ključe v map_obj

Map map_obj = new Map{

račun1 => 1000,račun2 => 2000,račun3 => 3000};

System.debug(map_obj);

Izhod:

Vidite lahko, da »map_obj« shranjuje tri račune.

1. Map.values()

Če želite vrniti samo vrednosti iz danega zemljevida, lahko uporabimo metodo values(). Ne bo sprejel nobenih parametrov. Preprosto vrne seznam vrednosti, ločenih z vejico.

Sintaksa:

map_object.values()

primer:

Vrnimo vse vrednosti iz prejšnjega zemljevida. Prepričajte se, da morate izvesti kodo prejšnjega primera (ustvarite zemljevid s tremi računi). V nasprotnem primeru boste prejeli napako. Koda bi morala obstajati tudi v konzoli.

// Vrni vrednosti za vse ključe z uporabo values()

System.debug(map_obj.values());

Izhod:

V map_obj so samo trije pari ključ:vrednost. Vrednosti so: 1000, 2000 in 3000.

2. Map.keySet()

Vrnite ključe, ki so prisotni v objektu zemljevida. Podobno kot pri values(), tej metodi ni treba posredovati nobenega parametra.

Sintaksa:

map_object.keySet()

primer:

Vrnimo vse ključe iz prejšnjega zemljevida. Prepričajte se, da ste izvedli kodo prejšnjega primera (ustvarite zemljevid s tremi računi). V nasprotnem primeru boste prejeli napako. Koda bi morala obstajati tudi v konzoli.

// Vrni vse ključe z uporabo keySet()

System.debug(map_obj.keySet());

Izhod:

V map_obj so samo trije pari ključ:vrednost. Ključi so: {Account:{Name=Linux Hint}, Account:{Name=Python} in Account:{Name=Salesforce}.

3. Map.size()

V nekaterih scenarijih moramo poznati skupne pare elementov (ključ:vrednost), ki so prisotni na zemljevidu Apex. Size() je metoda, ki vrne skupno število parov (ključ:vrednost), ki obstajajo v map_object. Za to metodo parametri niso potrebni.

Sintaksa:

map_object.size()

primer:

Vrne velikost prejšnjega predmeta zemljevida.

// Vrne skupno število parov z uporabo size()

System.debug(map_obj.size());

Izhod:

Ker so samo 3 pari, je vrnjena velikost() 3.

4. Map.get()

Dostop do vrednosti iz zemljevida s ključem poteka z metodo get(). Da bi to naredili, moramo posredovati ključ kot parameter metodi get(). Če je posredovan neznan ključ, vrne napako.

Sintaksa:

map_object.get(ključ)

primer:

Ločeno vrnite vrednosti  ključa-2 in ključa-1.

// pridobi vrednost drugega ključa

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

// pridobi vrednost prvega ključa

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

Izhod:

Tu je 2000 vrednost ključa »Salesforce«, 1000 pa vrednost ključa »Linux Hint«.

5. Map.clear()

Vse pare v zbirki zemljevidov Apex lahko naenkrat izbrišete z metodo clear(). Ne bo sprejel nobenih parametrov.

Sintaksa:

map_object.clear()

primer:

Odstranite pare v prejšnjem »map_obj«.

//Pred clear()

System.debug(map_obj);

// Odstrani vse pare z uporabo clear()

map_obj.clear();

//Po clear()

System.debug(map_obj);

Izhod:

Prej so bili v »map_obj« 3 pari ključ-vrednost. Po uporabi metode clear() se vsi 3 izbrišejo.

6. Map.equals()

Dva predmeta zemljevida lahko primerjamo z uporabo metode equals(). Logična vrednost true je vrnjena, če so vsi ključi in vrednosti enaki v obeh objektih zemljevida. Medtem ko je logična vrednost false vrnjena, če je vsaj ena vrednost drugačna.

Sintaksa:

map_object1.equals(map_object2)

primer:

Ustvarimo tri objekte zemljevida z enim parom ključ:vrednost, vsak glede na objekt »Račun«. Primerjaj te predmete med njimi.

// Račun-1

Account account1 = nov račun();

Map map_obj1 = nov Map{

račun1 => 1000};

System.debug('Zemljevid - 1:' + map_obj1);

// Račun-2

Account account2 = nov račun();

Map map_obj2 = nov Map{

račun2 => 1000};

System.debug('Zemljevid - 2:' + map_obj1);

// Račun-3

Račun account3 = nov račun();

Map map_obj3 = nov Map{

račun3 => 2000};

System.debug('Zemljevid - 3:' + map_obj3);

// enako()

System.debug('Zemljevid 1 in zemljevid 2 sta enaka: '+ map_obj1.equals(map_obj2));

System.debug('Zemljevid 1 in zemljevid 3 sta enaka: '+ map_obj1.equals(map_obj3));

Izhod:

Prvi in ​​drugi objekt preslikave sta enaka, saj so ključi in vrednosti enaki v obeh objektih. Prvi in ​​tretji objekt zemljevida nista enaka, ker so ključi in vrednosti različni.

7. Map.isEmpty()

Ali je zemljevid prazen ali ne, lahko preverimo z metodo isEmpty(). Vrne se vrednost True, če je zbirka zemljevidov Apex prazna. V nasprotnem primeru se vrne false. Podobno kot pri metodi size(), ne bo sprejela nobenega parametra.

Sintaksa:

map_object.isEmpty()

primer:

Ustvarimo dva objekta zemljevida, ki sta povezana z 'Računom' in preverimo, ali sta prazna ali ne.

// Račun-1

Account account1 = nov račun();

Map map_obj1 = nov Map{

račun1 => 1000};



// Račun-2

Map map_obj2 = nov Map();

// je prazno()

System.debug('Map-1 je prazen: '+map_obj1.isEmpty());

System.debug('Map-2 je prazen: '+map_obj2.isEmpty());

Izhod:

Prvi zemljevid ni prazen, saj vsebuje en par ključ-vrednost. Drugi zemljevid je prazen, ker ne vsebuje nobenega.

8. Map.remove()

Metoda remove() v zbirki zemljevidov Apex se uporablja za odstranitev določenega para ključ-vrednost na podlagi ključa, ki je v njem naveden kot parameter. Če ključ ne obstaja, se prikaže napaka.

Sintaksa:

map_object.remove(ključ)

primer:

Ustvarimo zemljevid z dvema elementoma in odstranimo prvi element.

Account account1 = nov račun();

Račun account2 = nov račun();

Map map_obj = new Map{

račun1 => 1000, račun2 => 4000};

System.debug('Obstoječi zemljevid'+ map_obj);

//Odstrani()

map_obj.remove(account1);

System.debug('Po odstranitvi prvega elementa:'+map_obj);

Izhod:

Po odstranitvi prvega elementa z zemljevida obstaja samo en element – ​​{Account:{Name=Python}=4000}.

9. Map.put()

S to metodo lahko objektu zemljevida neposredno dodamo en element naenkrat. Sprejema dva parametra: »ključ« je prvi parameter, medtem ko je »vrednost« drugi parameter.

Sintaksa:

map_object.put(ključ,vrednost)

primer:

Ustvarimo zemljevid z enim parom ključ-vrednost. Nato uporabimo metodo »put«, da vstavimo »account2«.

// Račun-1

Account account1 = nov račun();

Map map_obj1 = nov Map{

račun1 => 1000};

System.debug('Dejanski zemljevid: '+map_obj1);

// Račun-2

Račun account2 = nov račun();

// postavi()

zemljevid_obj1.put(račun2,2000);

System.debug('Končni zemljevid: '+map_obj1);

Izhod:

Prej je bil na zemljevidu samo en par ključ-vrednost, in sicer {Account:{Name=Linux Hint}=1000}. Po dodajanju »account2« končni zemljevid vsebuje dva para ključ-vrednost, ki sta {Account:{Name=Linux Hint}=1000 in Account:{Name=Python}=2000}.

10. Map.putAll()

S to metodo lahko objektu zemljevida naenkrat neposredno dodamo enega ali več elementov. Kot parameter vzame objekt zbirke zemljevidov.

Sintaksa:

map_object1.putAll(map_object2)

primer:

Ustvarimo zemljevid z dvema paroma ključa in vrednosti in ponovno ustvarimo prazen objekt zemljevida brez elementov. Z metodo putAll() dodajte elemente, ki so na voljo v prvem objektu zemljevida, v drugi objekt zemljevida.

Account account1 = nov račun();

Račun account2 = nov račun();

Map map_obj1 = nov Map{

račun1 => 1000, račun2=> 2000};

System.debug(map_obj1);

Map map_obj2 = nov Map();

//vstaviVse()

map_obj2.putAll(map_obj1);

System.debug(map_obj2);

Izhod:

Zaključek

Zemljevid je podatkovna struktura, ki se večinoma uporablja v scenarijih sprožitve in pomaga naložiti več podatkov hkrati v zbirko podatkov Salesforce kot seznam. Imamo dve možnosti za dodajanje elementov na zemljevid: z uporabo put() in putAll(). Metoda remove() se uporablja za odstranitev določenega elementa iz zbirke zemljevidov Apex. Metoda clear() se uporablja za brisanje vseh postavk. Naučili smo se tudi vrniti vrednosti in ključe z metodama values() in keySet().