„Salesforce Apex“ – žemėlapis

Salesforce Apex Zemelapis



„Salesforce Apex“ žemėlapis yra duomenų struktūra, kuri daugiausia naudojama suaktyvinimo scenarijuose ir padeda vienu metu įkelti daugiau duomenų į „Salesforce“ duomenų bazę kaip sąrašą. Tačiau ji saugo ir tvarko duomenis {key:value} poros formatu. Aptarsime žemėlapių rinkinį Apex programavimo kalba ir jo metodus. Čia visiems pavyzdžiams naudosime standartinį objektą Paskyra sistemoje „Salesforce“. Greitai pasinerkime į šią pamoką.

Žemėlapis

Žemėlapis naudoja {key:value} poros duomenis kaip įvestį ir išsaugo juos „Salesforce“ standartiniuose arba tinkintuose objektuose. Jis gali paimti sObject kaip raktą arba reikšmę.







Žemėlapio kūrimas

Nurodant rakto duomenų tipus ir reikšmę kartu su objekto pavadinimu, galima sukurti žemėlapį. Čia jam sukurti naudojamas naujas raktinis žodis. Kuriant elementus gali būti neprivaloma perduoti.



Tuščio žemėlapio sintaksė:

Žemėlapis map_obj = naujas žemėlapis():

Bendroji sintaksė:

Žemėlapis map_obj = naujas žemėlapis{

Raktas => reikšmė,....};

sObject sintaksė:

Žemėlapis map_obj = naujas žemėlapis{

Raktas => reikšmė,....};

Čia sObject gali būti standartinis arba pasirinktinis objektas. Visame šiame straipsnyje aptarsime tik žemėlapį su objektu „Paskyra“.



Pažiūrėkime po vieną metodus, kuriuos palaiko „Apex“ žemėlapių kolekcija.





Aplinkos sąranka

1. Greitai prisijunkite prie „Salesforce“ ir atidarykite „Developer Console“ spustelėdami krumpliaračio piktogramą.



2. Tada atidarykite „Anoniminį langą“ spustelėdami „Debug“ ir „Open Execute Anonymous Window“.

Bendras pavyzdys:

Pirmiausia pamatysime bendrąjį žemėlapio kūrimą sukūrę žemėlapį su dviem temomis: „subject_id“, kuris veikia kaip raktas, ir „vertė“ kaip dalyko pavadinimas.

Žemėlapis programavimas=naujas žemėlapis{1=> 'Linux',2=> 'Python'};

system.debug(programavimas);

Išvestis:

  1. Spustelėkite „Vykdyti“.
  2. Pažymėkite parinktį „Tik derinimas“. Išvestį galite pamatyti „Vykdymo žurnale“.

Žemėlapio metodai

Pirmiausia iš objekto „Paskyra“ sukuriame žemėlapį. Sukuriame tris paskyras su pavadinimais po vieną. Tada paskelbiame žemėlapį su raktu ir verte kaip įveskite ir perkelkite ankstesnes tris paskyras į žemėlapį pateikdami kai kurias vertes.

// Sukurkite 3 paskyras naudodami pavadinimą

Paskyra account1 = nauja Paskyra(Pavadinimas='Linux Hint');

Paskyra account2 = new Account (Pavadinimas='Salesforce');

Paskyra account3 = new Account (Pavadinimas='Python');

// Pridėkite aukščiau nurodytas paskyras kaip raktus prie map_obj

Žemėlapis map_obj = naujas žemėlapis{

1 sąskaita => 1000,2 sąskaita => 2000,3 sąskaita => 3000};

System.debug(map_obj);

Išvestis:

Matote, kad „map_obj“ saugo tris paskyras.

1. Žemėlapio reikšmės()

Norėdami grąžinti tik reikšmes iš nurodyto žemėlapio, galime naudoti value() metodą. Nereikės jokių parametrų. Tai tiesiog grąžina kableliais atskirtų reikšmių sąrašą.

Sintaksė:

map_object.values()

Pavyzdys:

Grąžinkime visas reikšmes iš ankstesnio žemėlapio. Įsitikinkite, kad turite vykdyti ankstesnį pavyzdinį kodą (sukurkite žemėlapį su trimis paskyromis). Priešingu atveju gausite klaidą. Kodas taip pat turėtų būti konsolėje.

// Grąžina visų raktų reikšmes naudojant vertybes ()

System.debug(map_obj.values());

Išvestis:

Map_obj yra tik trys raktų:reikšmės poros. Reikšmės yra: 1000, 2000 ir 3000.

2. Map.keySet()

Grąžinti raktai yra žemėlapio objekte. Panašiai kaip reikšmės (), šiam metodui nereikia perduoti jokių parametrų.

Sintaksė:

map_object.keySet()

Pavyzdys:

Grąžinkime visus raktus iš ankstesnio žemėlapio. Įsitikinkite, kad vykdėte ankstesnį pavyzdinį kodą (sukurkite žemėlapį su trimis paskyromis). Priešingu atveju gausite klaidą. Kodas taip pat turėtų būti konsolėje.

// Grąžinkite visus raktus naudodami keySet()

System.debug(map_obj.keySet());

Išvestis:

Map_obj yra tik trys raktų:reikšmės poros. Raktai yra šie: {Paskyra:{Name=Linux Hint}, Account:{Name=Python} ir Account:{Name=Salesforce}.

3. Map.size()

Kai kuriais atvejais turime žinoti visas elementų (raktas: vertė) poras, kurios yra Apex žemėlapyje. Dydis() yra metodas, kuris grąžina visas (raktas:reikšmė) poras, esančias map_object. Šiam metodui parametrai nereikalingi.

Sintaksė:

map_object.size()

Pavyzdys:

Grąžina ankstesnio žemėlapio objekto dydį.

// Grąžinti bendrą porų skaičių naudojant size()

System.debug(žemėlapis_obj.dydis());

Išvestis:

Kadangi yra tik 3 poros, grąžinamas dydis() yra 3.

4. Map.get()

Prieiga prie reikšmių iš žemėlapio naudojant raktą atliekama naudojant get() metodą. Norėdami tai padaryti, turime perduoti raktą kaip parametrą get() metodui. Jei perduodamas nežinomas raktas, jis grąžina klaidą.

Sintaksė:

map_object.get(key)

Pavyzdys:

Grąžinkite 2 rakto ir 1 rakto reikšmes atskirai.

// gauti antrojo rakto reikšmę

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

// gauti pirmojo rakto reikšmę

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

Išvestis:

Čia 2000 yra „Salesforce“ rakto reikšmė, o 1000 yra „Linux Hint“ rakto reikšmė.

5. Map.clear()

Visas „Apex“ žemėlapių kolekcijos poras vienu metu galima ištrinti naudojant „clear()“ metodą. Nereikės jokių parametrų.

Sintaksė:

map_object.clear()

Pavyzdys:

Pašalinkite poras iš ankstesnio „map_obj“.

//Prieš išvalant()

System.debug(map_obj);

// Pašalinkite visas poras naudodami clear ()

map_obj.clear();

//Išvalius ()

System.debug(map_obj);

Išvestis:

Anksčiau „map_obj“ buvo 3 raktų ir reikšmių poros. Pritaikius clear() metodą, visi 3 ištrinami.

6. Map.equals()

Galime palyginti du žemėlapio objektus naudodami equals() metodą. Būlio reikšmė true yra grąžinama, jei visi raktai ir reikšmės yra vienodi abiejuose žemėlapio objektuose. Nors Būlio reikšmė false grąžinama, jei bent viena reikšmė skiriasi.

Sintaksė:

map_object1.equals(žemėlapio_objektas2)

Pavyzdys:

Sukurkime tris žemėlapio objektus su viena raktų:reikšmių pora, kiekvienas atsižvelgiant į objektą „Paskyra“. Palyginkite šiuos objektus.

// Sąskaita-1

Paskyra account1 = nauja Paskyra(Pavadinimas='Linux Hint');

Žemėlapis map_obj1 = naujas žemėlapis{

account1 => 1000};

System.debug('Žemėlapis - 1:' + map_obj1);

// Sąskaita-2

Paskyra account2 = nauja Paskyra(Pavadinimas='Linux Hint');

Žemėlapis map_obj2 = naujas žemėlapis{

account2 => 1000};

System.debug('Žemėlapis - 2:' + map_obj1);

// Sąskaita-3

Paskyra account3 = new Account (Pavadinimas='Python');

Žemėlapis map_obj3 = naujas žemėlapis{

account3 => 2000};

System.debug('Žemėlapis - 3:' + map_obj3);

// lygu ()

System.debug('1 žemėlapis ir 2 žemėlapis yra lygūs: '+ map_obj1.equals(map_obj2));

System.debug('1 ir 3 žemėlapiai yra lygūs: '+ map_obj1.equals(map_obj3));

Išvestis:

Pirmasis ir antrasis žemėlapių objektai yra vienodi, nes abiejuose objektuose yra vienodi raktai ir reikšmės. Pirmasis ir trečiasis žemėlapių objektai nėra lygūs, nes raktai ir reikšmės skiriasi.

7. Žemėlapis.isTuščias()

Ar žemėlapis tuščias, ar ne, galime patikrinti naudodami isEmpty() metodą. Grąžinama tiesa, jei Apex žemėlapių kolekcija tuščia. Priešingu atveju grąžinama false. Panašiai kaip dydis() metodas, jis nereikalauja jokių parametrų.

Sintaksė:

map_object.isEmpty()

Pavyzdys:

Sukurkime du žemėlapio objektus, susijusius su „Paskyra“, ir patikrinkime, ar jie tušti, ar ne.

// Sąskaita-1

Paskyra account1 = nauja Paskyra(Pavadinimas='Linux Hint');

Žemėlapis map_obj1 = naujas žemėlapis{

account1 => 1000};



// Sąskaita-2

Žemėlapis map_obj2 = naujas Žemėlapis();

// Yra tuščias()

System.debug('Žemėlapis-1 tuščias: '+map_obj1.isEmpty());

System.debug('Žemėlapis-2 tuščias: '+map_obj2.isEmpty());

Išvestis:

Pirmasis žemėlapis nėra tuščias, nes jame yra viena rakto-reikšmių pora. Antrasis žemėlapis tuščias, nes jame nėra.

8. Map.remove()

Metodas remove() Apex žemėlapių rinkinyje naudojamas tam tikrai rakto ir verčių porai pašalinti pagal raktą, kuris jame nurodytas kaip parametras. Jei rakto nėra, atsiranda klaida.

Sintaksė:

map_object.remove(key)

Pavyzdys:

Sukurkime žemėlapį su dviem elementais ir pašalinkime pirmąjį.

Paskyra account1 = nauja Paskyra(Pavadinimas='Linux Hint');

Paskyra account2 = nauja Paskyra(Vardas='Python');

Žemėlapis map_obj = naujas žemėlapis{

account1 => 1000, account2 => 4000};

System.debug('Esamas žemėlapis'+ map_obj);

//pašalinti ()

map_obj.remove(account1);

System.debug('Pašalinus pirmąjį elementą:'+map_obj);

Išvestis:

Pašalinus pirmąjį elementą iš žemėlapio, lieka tik vienas elementas – {Account:{Name=Python}=4000}.

9. Map.put()

Naudodamiesi šiuo metodu, vienu metu galime tiesiogiai pridėti vieną elementą prie žemėlapio objekto. Jis priima du parametrus: „raktas“ yra pirmasis parametras, o „vertė“ yra antrasis parametras.

Sintaksė:

map_object.put(raktas,vertė)

Pavyzdys:

Sukurkime žemėlapį su viena rakto-reikšmių pora. Tada mes naudojame „put“ metodą, kad įterptume „account2“.

// Sąskaita-1

Paskyra account1 = nauja Paskyra(Pavadinimas='Linux Hint');

Žemėlapis map_obj1 = naujas žemėlapis{

account1 => 1000};

System.debug('Tikrasis žemėlapis: '+map_obj1);

// Sąskaita-2

Paskyra account2 = nauja Paskyra(Vardas='Python');

// įdėti ()

map_obj1.put(account2,2000);

System.debug('Galutinis žemėlapis: '+map_obj1);

Išvestis:

Anksčiau žemėlapyje buvo tik viena rakto-reikšmių pora, kuri yra {Account:{Name=Linux Hint}=1000}. Pridėjus „account2“, galutiniame žemėlapyje yra dvi raktų ir reikšmių poros, kurios yra {Account:{Name=Linux Hint}=1000 ir Account:{Name=Python}=2000}.

10. Map.putAll()

Naudodami šį metodą, vienu metu galime tiesiogiai pridėti vieną arba kelis elementus į žemėlapio objektą. Kaip parametras naudojamas žemėlapių rinkinio objektas.

Sintaksė:

map_object1.putAll(žemėlapio_objektas2)

Pavyzdys:

Sukurkime žemėlapį su dviem raktų-reikšmių poromis ir vėl sukurkime tuščią žemėlapio objektą be elementų. Naudokite putAll() metodą, kad pridėtumėte elementus, kurie yra pirmame žemėlapio objekte, prie antrojo žemėlapio objekto.

Paskyra account1 = nauja Paskyra(Pavadinimas='Linux Hint');

Paskyra account2 = nauja Paskyra(Vardas='Python');

Žemėlapis map_obj1 = naujas žemėlapis{

account1 => 1000, account2 => 2000};

System.debug(map_obj1);

Žemėlapis map_obj2 = naujas Žemėlapis();

//padėti viską ()

map_obj2.putAll(žemėlapis_obj1);

System.debug(map_obj2);

Išvestis:

Išvada

Žemėlapis yra duomenų struktūra, kuri daugiausia naudojama suaktyvinimo scenarijuose ir padeda vienu metu įkelti daugiau duomenų į Salesforce duomenų bazę kaip sąrašą. Turime dvi galimybes įtraukti elementus į žemėlapį: naudodami put() ir putAll(). Pašalinimo () metodas naudojamas tam tikram elementui pašalinti iš Apex žemėlapių kolekcijos. Clear() metodas naudojamas visiems elementams ištrinti. Taip pat sužinojome, kaip grąžinti reikšmes ir raktus naudojant value() ir keySet() metodus.