Salesforce Apex Map er en datastruktur som hovedsakelig brukes i trigger -scenarier og hjelper til med å laste inn mer data om gangen i Salesforce -databasen som en liste. Men den lagrer og organiserer dataene i nøkkelen: verdi parformat. Vi vil diskutere kartsamlingen i Apex -programmeringsspråk og dets metoder. Her vil vi bruke kontotstandardobjektet i Salesforce for alle eksempler. La oss raskt dykke ned i denne opplæringen.
Kart
Kart tar Key: Value Pair Data som input og lagrer den i Salesforce -standarden eller tilpassede objekter. Det kan ta nomsen som nøkkelen eller verdien.
Kartoppretting
Ved å spesifisere datatypene på nøkkelen og verdien sammen med objektnavnet, kan kartet opprettes. Her brukes et nytt søkeord til å lage det. Det kan være valgfritt å passere elementene under skapelsen.
Tomt kartsyntaks:
Map map_obj = nytt kart ():Generisk syntaks:
Kart kart_obj = nytt kartSobject Syntax:
Kart kart_obj = nytt kartHer kan sobjektet være et standard eller tilpasset objekt. I hele denne artikkelen vil vi bare håndtere kart med "kontoen" Sobject.
La oss se metodene som støttes av Apex “Map” -samling en etter en.
Miljøoppsett
1. Logg raskt på Salesforce og åpne “Developer Console” ved å klikke på girikonet.
2. Åpne deretter det "anonyme vinduet" ved å klikke på "Debug" og "Åpne utfør anonymt vindu".
Generisk eksempel:
Først vil vi se den generiske kartopprettelsen ved å lage et kart med to fag: "emne_id" som fungerer som en nøkkel og "verdi" som emnetavnet.
Kartprogrammering = nytt kart 1 => 'Linux', 2 => 'Python';Produksjon:
Kartmetoder
Først oppretter vi et kart fra "konto" -objektet. Vi oppretter tre kontoer med navn en etter en. Deretter erklærer vi et kart med nøkkelen og verdien som Skriv og send de tre foregående kontoene til kartet ved å gi noen verdier.
// Opprett 3 kontoer med navnProduksjon:
Du kan se at "map_obj" lagrer tre kontoer.
Kart.verdier ()
For bare å returnere verdiene fra det gitte kartet, kan vi bruke verdiene () metoden. Det vil ikke ta noen parametere. Den returnerer ganske enkelt listen over verdier atskilt med komma.
Syntaks:
map_object.verdier ()Eksempel:
La oss returnere alle verdiene fra forrige kart. Forsikre deg om at du trenger å utføre forrige eksempelkode (opprett et kart med tre kontoer). Ellers vil du få en feil. Koden skal også eksistere i konsollen.
// Returverdier for alle nøklene ved hjelp av verdier ()Produksjon:
Det er bare tre nøkkel: verdipar i map_obj. Verdiene er: 1000, 2000 og 3000.
Kart.Keyset ()
Returner nøklene er til stede i kartobjektet. I likhet med verdier () er det ingen grunn til å overføre noen parameter til denne metoden.
Syntaks:
map_object.Keyset ()Eksempel:
La oss returnere alle nøklene fra forrige kart. Forsikre deg om at du utfører forrige eksempelkode (opprett et kart med tre kontoer). Ellers vil du få en feil. Koden skal også eksistere i konsollen.
// Returner alle nøklene ved hjelp av Keyset ()Produksjon:
Det er bare tre nøkkel: verdipar i map_obj. Tastene er: konto: name = Linux hint, konto: name = python, og konto: name = Salesforce.
Kart.størrelse()
I noen scenarier må vi kjenne de totale elementene (nøkkel: verdi) par som er til stede på Apex -kartet. Størrelse () er metoden som returnerer total (nøkkel: verdi) par som finnes i map_object. Parametere er ikke nødvendig for denne metoden.
Syntaks:
map_object.størrelse()Eksempel:
Returner størrelsen på det forrige kartobjektet.
// returner totalt antall par ved hjelp av størrelse ()Produksjon:
Siden det bare er 3 par, er den returnerte størrelsen () 3.
Kart.få()
Å få tilgang til verdiene fra kartet ved hjelp av nøkkelen gjøres ved hjelp av get () -metoden. For å gjøre dette, må vi gi nøkkelen som en parameter til get () -metoden. Hvis en ukjent nøkkel blir bestått, returnerer den en feil.
Syntaks:
map_object.få (nøkkel)Eksempel:
Returner verdiene til Key-2 og Key-1 hver for seg.
// Få verdien av andre nøkkelProduksjon:
Her er 2000 verdien av "Salesforce" -nøkkelen og 1000 er verdien av "Linux Hint" -tasten.
Kart.klar()
Alle parene i en Apex -kartsamling kan slettes om gangen ved hjelp av Clear () -metoden. Det vil ikke ta noen parametere.
Syntaks:
map_object.klar()Eksempel:
Fjern parene i forrige “MAP_OBJ”.
// før klart ()Produksjon:
Tidligere er det 3 nøkkelverdipar i "MAP_OBJ". Etter å ha brukt Clear () -metoden, blir alle 3 slettet.
Kart.er lik()
Vi kan sammenligne to kartobjekter ved å bruke Equals () -metoden. Den boolske verdien av True returneres hvis alle nøkler og verdier er de samme i begge kartobjektene. Mens den boolske verdien av falsk returneres hvis minst en verdi er forskjellig.
Syntaks:
map_object1.lik (map_object2)Eksempel:
La oss opprette tre kartobjekter med en nøkkel: verdipar, hver med hensyn til "konto" -objektet. Sammenlign disse objektene blant dem.
// konto-1Produksjon:
De første og andre kartobjektene er like siden både nøkler og verdier er de samme i begge objektene. De første og tredje kartobjektene er ikke like siden nøklene og verdiene er forskjellige.
Kart.er tom()
Vi kan sjekke om kartet er tomt eller ikke ved å bruke Isempty () -metoden. True blir returnert hvis Apex -kartsamlingen er tom. Ellers blir falsk returnert. I likhet med størrelse () -metoden, vil den ikke ta noen parameter.
Syntaks:
map_object.er tom()Eksempel:
La oss opprette to kartobjekter som er relatert til “konto” og sjekk om disse to er tomme eller ikke.
// konto-1Produksjon:
Det første kartet er ikke tomt siden det har ett nøkkelverdipar. Det andre kartet er tomt siden det ikke har ingen.
Kart.fjerne()
Fjern () -metoden i Apex Map Collection brukes til å fjerne et bestemt nøkkelverdipar basert på nøkkelen som er spesifisert i det som en parameter. Hvis nøkkelen ikke eksisterer, blir en feil reist.
Syntaks:
map_object.Fjern (tasten)Eksempel:
La oss lage et kart med to elementer og fjerne det første elementet.
Kontokonto1 = ny konto (name = 'Linux hint');Produksjon:
Etter å ha fjernet det første elementet fra kartet, eksisterer bare ett element - Konto: name = python = 4000.
Kart.sette()
Ved hjelp av denne metoden kan vi direkte legge til ett element i kartobjektet om gangen. Den aksepterer to parametere: “Key” er den første parameteren mens “Verdi” er den andre parameteren.
Syntaks:
map_object.Put (nøkkel, verdi)Eksempel:
La oss lage et kart med ett nøkkelverdipar. Deretter bruker vi “Put” -metoden for å sette inn “Account2”.
// konto-1Produksjon:
Tidligere er det bare ett nøkkelverdipar på kartet som er konto: name = Linux hint = 1000. Etter å ha lagt til “Account2”, har det endelige kartet to nøkkelverdipar som er Konto: Navn = Linux Hint = 1000 og konto: name = python = 2000.
Kart.putt alle()
Ved hjelp av denne metoden kan vi direkte legge til en enkelt eller flere elementer i kartobjektet om gangen. Det tar et kartinnsamlingsobjekt som en parameter.
Syntaks:
map_object1.putall (map_object2)Eksempel:
La oss lage et kart med to nøkkelverdipar og lage et tomt kartobjekt igjen uten elementer. Bruk Putall () -metoden for å legge til elementene som er tilgjengelige i det første kartobjektet til det andre kartobjektet.
Kontokonto1 = ny konto (name = 'Linux hint');Produksjon:
Konklusjon
Kart er en datastruktur som hovedsakelig brukes i trigger -scenarier og hjelper til med å laste inn mer data om gangen i Salesforce -databasen som en liste. Vi har to alternativer for å legge til elementene på kartet: Bruke Put () og Putall (). Fjern () -metoden brukes til å fjerne et bestemt element fra Apex Map Collection. Clear () -metoden brukes til å slette alle elementene. Vi lærte også å returnere verdiene og nøklene ved hjelp av verdiene () og Keyset ().