Salesforce Apex – Kort

Salesforce Apex Kort



Salesforce Apex-kort er en datastruktur, der hovedsageligt bruges i triggerscenarier og hjælper med at indlæse flere data ad gangen i Salesforce-databasen som en liste. Men den gemmer og organiserer dataene i parformatet {key:value}. Vi vil diskutere kortsamlingen i programmeringssproget Apex og dets metoder. Her vil vi bruge kontostandardobjektet i Salesforce til alle eksempler. Lad os hurtigt dykke ned i denne tutorial.

Kort

Kort tager {key:value}-parrets data som input og gemmer dem i Salesforce-standard- eller tilpassede objekter. Det kan tage sObject som nøglen eller værdien.







Kortoprettelse

Ved at specificere datatyperne for nøglen og værdien sammen med objektnavnet kan kortet oprettes. Her bruges et nyt nøgleord til at oprette det. Det kan være valgfrit at videregive elementerne under oprettelsen.



Tom kortsyntaks:

Kort map_obj = nyt kort():

Generisk syntaks:

Kort map_obj = nyt kort{

Nøgle => værdi,....};

sObject Syntaks:

Kort map_obj = nyt kort{

Nøgle => værdi,....};

Her kan sObject være et standard- eller brugerdefineret objekt. I hele denne artikel vil vi kun beskæftige os med kort med 'Konto' sObject.



Lad os se de metoder, der understøttes af Apex 'kort'-samlingen én efter én.





Miljøopsætning

1. Log hurtigt på Salesforce, og åbn 'Udviklerkonsollen' ved at klikke på tandhjulsikonet.



2. Åbn derefter 'Anonymt vindue' ved at klikke på 'Debug' og 'Åbn Execute Anonymous Window'.

Generisk eksempel:

Først vil vi se den generiske kortoprettelse ved at oprette et kort med to emner: 'subject_id', der fungerer som en nøgle og 'værdi' som emnenavnet.

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

system.debug(programmering);

Produktion:

  1. Klik på 'Udfør'.
  2. Marker indstillingen 'Kun fejlfinding'. Du kan se outputtet i 'Execution Log'.

Kortmetoder

Først opretter vi et kort fra objektet 'Konto'. Vi opretter tre konti med navne én efter én. Derefter erklærer vi et kort med nøglen og værdien som skriv og send de foregående tre konti til kortet ved at angive nogle værdier.

// Opret 3 konti med Navn

Konto konto1 = ny konto(Navn='Linux-tip');

Kontokonto2 = ny konto(Navn='Salesforce');

Konto konto3 = ny konto(Navn='Python');

// Tilføj ovenstående konti som nøgler til map_obj

Kort map_obj = nyt kort{

konto1 => 1000,konto2 => 2000,konto3 => 3000};

System.debug(map_obj);

Produktion:

Du kan se, at 'map_obj' gemmer tre konti.

1. Map.values()

For kun at returnere værdierne fra det givne kort, kan vi bruge values() metoden. Det tager ingen parametre. Det returnerer blot listen over værdier adskilt med komma.

Syntaks:

map_object.values()

Eksempel:

Lad os returnere alle værdierne fra det forrige kort. Sørg for, at du skal udføre den forrige eksempelkode (opret et kort med tre konti). Ellers får du en fejl. Koden bør også eksistere i konsollen.

// Returner værdier for alle nøglerne ved hjælp af værdier()

System.debug(map_obj.values());

Produktion:

Der er kun tre nøgle:værdi-par i map_obj. Værdierne er: 1000, 2000 og 3000.

2. Map.keySet()

Retur tasterne er til stede i kortobjektet. I lighed med værdier(), er der ingen grund til at overføre nogen parameter til denne metode.

Syntaks:

map_object.keySet()

Eksempel:

Lad os returnere alle nøglerne fra det forrige kort. Sørg for, at du udfører den forrige eksempelkode (opret et kort med tre konti). Ellers får du en fejl. Koden bør også eksistere i konsollen.

// Returner alle nøglerne ved hjælp af keySet()

System.debug(map_obj.keySet());

Produktion:

Der er kun tre nøgle:værdi-par i map_obj. Nøglerne er: {Account:{Name=Linux Hint}, Account:{Name=Python} og Account:{Name=Salesforce}.

3. Map.size()

I nogle scenarier skal vi kende de samlede elementer (nøgle:værdi) par, der er til stede i Apex-kortet. Size() er den metode, der returnerer de samlede (nøgle:værdi) par, der findes i map_object. Parametre er ikke nødvendige for denne metode.

Syntaks:

map_object.size()

Eksempel:

Returner størrelsen af ​​det forrige kortobjekt.

// Returner det samlede antal par ved hjælp af størrelse()

System.debug(map_obj.size());

Produktion:

Da der kun er 3 par, er den returnerede størrelse() 3.

4. Map.get()

Adgang til værdierne fra kortet ved hjælp af nøglen sker ved hjælp af get() metoden. For at gøre dette skal vi videregive nøglen som en parameter til get()-metoden. Hvis en ukendt nøgle sendes, returnerer den en fejl.

Syntaks:

map_object.get(key)

Eksempel:

Returner værdierne for key-2 og key-1 separat.

// få værdien af ​​anden nøgle

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

// få værdien af ​​første nøgle

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

Produktion:

Her er 2000 værdien af ​​'Salesforce'-nøglen og 1000 er værdien af ​​'Linux Hint'-nøglen.

5. Map.clear()

Alle parrene i en Apex-kortsamling kan slettes ad gangen ved at bruge clear()-metoden. Det tager ingen parametre.

Syntaks:

map_object.clear()

Eksempel:

Fjern parrene i det forrige 'map_obj'.

//Før clear()

System.debug(map_obj);

// Fjern alle par med clear()

map_obj.clear();

//Efter clear()

System.debug(map_obj);

Produktion:

Tidligere var der 3 nøgleværdi-par i 'map_obj'. Efter at have anvendt clear() metoden slettes alle 3.

6. Map.equals()

Vi kan sammenligne to kortobjekter ved hjælp af equals()-metoden. Den boolske værdi af sand returneres, hvis alle nøgler og værdier er ens i begge kortobjekter. Mens den boolske værdi af false returneres, hvis mindst én værdi er forskellig.

Syntaks:

map_object1.equals(map_object2)

Eksempel:

Lad os oprette tre kortobjekter med ét nøgle:værdi-par, hver med hensyn til 'Konto'-objektet. Sammenlign disse objekter blandt dem.

// Konto-1

Konto konto1 = ny konto(Navn='Linux-tip');

Kort map_obj1 = nyt kort{

konto1 => 1000};

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

// Konto-2

Kontokonto2 = ny konto(Navn='Linux-tip');

Kort map_obj2 = nyt kort{

konto2 => 1000};

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

// Konto-3

Konto konto3 = ny konto(Navn='Python');

Kort map_obj3 = nyt kort{

konto3 => 2000};

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

// lige med()

System.debug('Kort 1 & Kort 2 er ens: '+ map_obj1.equals(map_obj2));

System.debug('Kort 1 & Kort 3 er ens: '+ map_obj1.equals(map_obj3));

Produktion:

Det første og andet kortobjekt er ens, da både nøgler og værdier er de samme i begge objekter. Det første og tredje kortobjekt er ikke ens, da nøglerne og værdierne er forskellige.

7. Map.isEmpty()

Vi kan kontrollere, om kortet er tomt eller ej ved at bruge metoden isEmpty(). True returneres, hvis Apex-kortsamlingen er tom. Ellers returneres falsk. I lighed med size()-metoden tager den ikke nogen parameter.

Syntaks:

map_object.isEmpty()

Eksempel:

Lad os oprette to kortobjekter, der er relateret til 'Konto' og kontrollere, om disse to er tomme eller ej.

// Konto-1

Konto konto1 = ny konto(Navn='Linux-tip');

Kort map_obj1 = nyt kort{

konto1 => 1000};



// Konto-2

Kort map_obj2 = nyt kort();

// er tom()

System.debug('Map-1 er tom: '+map_obj1.isEmpty());

System.debug('Map-2 er tom: '+map_obj2.isEmpty());

Produktion:

Det første kort er ikke tomt, da det indeholder ét nøgleværdi-par. Det andet kort er tomt, da det ikke indeholder noget.

8. Map.remove()

Remove()-metoden i Apex-kortsamlingen bruges til at fjerne et bestemt nøgle-værdi-par baseret på den nøgle, der er angivet i det som en parameter. Hvis nøglen ikke findes, vises en fejl.

Syntaks:

map_object.remove(key)

Eksempel:

Lad os oprette et kort med to elementer og fjerne det første element.

Konto konto1 = ny konto(Navn='Linux-tip');

Konto konto2 = ny konto(Navn='Python');

Kort map_obj = nyt kort{

konto1 => 1000,konto2 => 4000};

System.debug('Eksisterende kort'+ map_obj);

//fjerne()

map_obj.remove(konto1);

System.debug('Efter at have fjernet det første element:'+map_obj);

Produktion:

Efter at have fjernet det første element fra kortet, eksisterer der kun ét element – ​​{Account:{Name=Python}=4000}.

9. Map.put()

Ved hjælp af denne metode kan vi direkte tilføje et element til kortobjektet ad gangen. Den accepterer to parametre: 'nøgle' er den første parameter, mens 'værdi' er den anden parameter.

Syntaks:

map_object.put(nøgle,værdi)

Eksempel:

Lad os oprette et kort med ét nøgleværdi-par. Derefter bruger vi 'put'-metoden til at indsætte 'konto2'.

// Konto-1

Konto konto1 = ny konto(Navn='Linux-tip');

Kort map_obj1 = nyt kort{

konto1 => 1000};

System.debug('Faktisk kort: '+map_obj1);

// Konto-2

Konto konto2 = ny konto(Navn='Python');

// put()

map_obj1.put(konto2,2000);

System.debug('Endelig kort: '+map_obj1);

Produktion:

Tidligere var der kun ét nøgleværdi-par i kortet, som er {Konto:{Navn=Linux Hint}=1000}. Efter tilføjelse af 'konto2', indeholder det endelige kort to nøgleværdi-par, som er {Account:{Name=Linux Hint}=1000 og Account:{Name=Python}=2000}.

10. Map.putAll()

Ved hjælp af denne metode kan vi direkte tilføje et enkelt eller flere elementer til kortobjektet ad gangen. Det tager et kortsamlingsobjekt som en parameter.

Syntaks:

map_object1.putAll(map_object2)

Eksempel:

Lad os oprette et kort med to nøgleværdi-par og oprette et tomt kortobjekt igen uden elementer. Brug putAll()-metoden til at tilføje de elementer, der er tilgængelige i det første kortobjekt, til det andet kortobjekt.

Konto konto1 = ny konto(Navn='Linux-tip');

Konto konto2 = ny konto(Navn='Python');

Kort map_obj1 = nyt kort{

konto1 => 1000, konto2=> 2000};

System.debug(map_obj1);

Kort map_obj2 = nyt kort();

//putAll()

map_obj2.putAll(map_obj1);

System.debug(map_obj2);

Produktion:

Konklusion

Kort er en datastruktur, der hovedsageligt bruges i triggerscenarier og hjælper med at indlæse flere data ad gangen i Salesforce-databasen som en liste. Vi har to muligheder for at tilføje elementerne til kortet: ved at bruge put() og putAll(). Metoden remove() bruges til at fjerne et bestemt element fra Apex-kortsamlingen. Clear()-metoden bruges til at slette alle elementer. Vi lærte også, hvordan man returnerer værdierne og nøglerne ved hjælp af metoderne values() og keySet().