Salesforce Apex - Mappa

Salesforce Apex - Mappa

Salesforce Apex Map è una struttura di dati che viene utilizzata principalmente negli scenari di trigger e aiuta a caricare più dati alla volta nel database Salesforce come un elenco. Ma memorizza e organizza i dati nel formato key: value coppia. Discuteremo la raccolta delle mappe nel linguaggio di programmazione Apex e nei suoi metodi. Qui useremo l'oggetto standard dell'account in Salesforce per tutti gli esempi. Mi immerciamo rapidamente in questo tutorial.

Carta geografica

La mappa prende i dati tastiera: valore coppia come input e li memorizza nello standard Salesforce o sugli oggetti personalizzati. Può prendere il singhioj come chiave o valore.

Creazione della mappa

Specificando i tipi di dati della chiave e del valore insieme al nome dell'oggetto, è possibile creare la mappa. Qui, una nuova parola chiave viene utilizzata per crearla. Può essere facoltativo passare gli elementi durante la creazione.

Sintassi della mappa vuota:

Mappa map_obj = new map ():

Sintassi generica:

Mappa map_obj = nuova mappa
Key => value, ...;

Sintassi di Sobject:

Mappa map_obj = nuova mappa
Key => value, ...;

Qui, il Sobject può essere un oggetto standard o personalizzato. In questo intero articolo, tratteremo solo con la mappa con il singhiozzo "account".

Vediamo i metodi che sono supportati dalla raccolta di "mappa" apice uno per uno.

Configurazione dell'ambiente

1. Accedi rapidamente a Salesforce e apri la "console per sviluppatori" facendo clic sull'icona degli ingranaggi.

2. Quindi, apri la "finestra anonima" facendo clic su "Debug" e "Apri eseguire la finestra anonima".

Esempio generico:

Innanzitutto, vedremo la creazione della mappa generica creando una mappa con due soggetti: il "soggetto_id" che funge da chiave e "valore" come nome dell'oggetto.

Mappa programmazione = nuova mappa 1 => 'linux', 2 => 'python';
sistema.debug (programmazione);

Produzione:

  1. Fai clic su "Esegui".
  2. Controlla l'opzione "solo debug". Puoi vedere l'output nel "registro di esecuzione".

Metodi della mappa

Innanzitutto, creiamo una mappa dall'oggetto "account". Creiamo tre account con nomi uno per uno. Quindi, dichiariamo una mappa con la chiave e il valore come digitare e passare i tre account precedenti sulla mappa fornendo alcuni valori.

// Crea 3 account con il nome
Account account1 = nuovo account (name = 'linux suggerimenti');
Account account2 = nuovo account (name = 'salesforce');
Account account3 = nuovo account (name = 'python');
// Aggiungi gli account sopra come chiavi di map_obj
Mappa map_obj = nuova mappa
account1 => 1000, account2 => 2000, account3 => 3000;
Sistema.debug (map_obj);

Produzione:

Puoi vedere che "map_obj" memorizza tre account.

Carta geografica.valori()

Per restituire solo i valori dalla mappa data, possiamo usare il metodo valori (). Non ci vorranno parametri. Restituisce semplicemente l'elenco dei valori separati da virgola.

Sintassi:

map_object.valori()

Esempio:

Restituiamo tutti i valori dalla mappa precedente. Assicurati di dover eseguire il codice di esempio precedente (crea una mappa con tre account). Altrimenti, otterrai un errore. Il codice dovrebbe esistere anche nella console.

// Return Values ​​per tutti i tasti usando valori ()
Sistema.Debug (map_obj.valori());

Produzione:

Ci sono solo tre chiave: coppie di valori nella map_obj. I valori sono: 1000, 2000 e 3000.

Carta geografica.mazzo di chiavi()

Restituire i tasti sono presenti nell'oggetto mappa. Simile a valori (), non è necessario passare alcun parametro a questo metodo.

Sintassi:

map_object.mazzo di chiavi()

Esempio:

Restituiamo tutte le chiavi dalla mappa precedente. Assicurati di eseguire il codice di esempio precedente (crea una mappa con tre account). Altrimenti, otterrai un errore. Il codice dovrebbe esistere anche nella console.

// restituisce tutte le chiavi usando il tasto ()
Sistema.Debug (map_obj.mazzo di chiavi());

Produzione:

Ci sono solo tre chiave: coppie di valori nella map_obj. Le chiavi sono: account: name = Linux suggerimenti, account: name = python e account: name = salesforce.

Carta geografica.misurare()

In alcuni scenari, dobbiamo conoscere le coppie totali (chiave: valore) presenti nella mappa apice. Size () è il metodo che restituisce le coppie totali (tasto: valore) esistenti in map_object. I parametri non sono necessari per questo metodo.

Sintassi:

map_object.misurare()

Esempio:

Restituisci le dimensioni dell'oggetto mappa precedente.

// restituisce il numero totale di coppie usando la dimensione ()
Sistema.Debug (map_obj.misurare());

Produzione:

Poiché ci sono solo 3 coppie, la dimensione restituita () è 3.

Carta geografica.Ottenere()

L'accesso ai valori dalla mappa utilizzando il tasto viene eseguito utilizzando il metodo get (). Per fare ciò, dobbiamo passare la chiave come parametro al metodo get (). Se viene passata una chiave sconosciuta, restituisce un errore.

Sintassi:

map_object.Ottieni (chiave)

Esempio:

Restituire i valori di Key-2 e Key-1 separatamente.

// Ottieni il valore della seconda chiave
Sistema.Debug (map_obj.get (account2));
// Ottieni il valore della prima chiave
Sistema.Debug (map_obj.get (account1));

Produzione:

Qui, 2000 è il valore della chiave "Salesforce" e 1000 è il valore del tasto "Linux Suggerimento".

Carta geografica.chiaro()

Tutte le coppie in una raccolta di mappe Apex possono essere eliminate alla volta utilizzando il metodo Clear (). Non ci vorranno parametri.

Sintassi:

map_object.chiaro()

Esempio:

Rimuovere le coppie nel precedente "map_obj".

// prima di clear ()
Sistema.debug (map_obj);
// Rimuovi tutte le coppie usando clear ()
map_obj.chiaro();
// dopo Clear ()
Sistema.debug (map_obj);

Produzione:

In precedenza, ci sono 3 coppie di valore chiave in "map_obj". Dopo aver applicato il metodo Clear (), tutti e 3 vengono eliminati.

Carta geografica.equivale()

Possiamo confrontare due oggetti mappa usando il metodo uguals (). Il valore booleano di TRUE viene restituito se tutte le chiavi e i valori sono uguali in entrambi gli oggetti della mappa. Mentre il valore booleano di false viene restituito se almeno un valore è diverso.

Sintassi:

map_object1.equals (map_object2)

Esempio:

Creiamo tre oggetti mappa con una chiave: coppia di valori, ognuno rispetto all'oggetto "account". Confronta questi oggetti tra loro.

// Account-1
Account account1 = nuovo account (name = 'linux suggerimenti');
Mappa map_obj1 = nuova mappa
account1 => 1000;
Sistema.debug ('mappa - 1:' + map_obj1);
// Account-2
Account account2 = nuovo account (name = 'linux suggerimenti');
Mappa map_obj2 = new map
account2 => 1000;
Sistema.debug ('mappa - 2:' + map_obj1);
// Account-3
Account account3 = nuovo account (name = 'python');
Mappa map_obj3 = nuova mappa
account3 => 2000;
Sistema.debug ('mappa - 3:' + map_obj3);
// equivale()
Sistema.debug ('mappa 1 e mappa 2 sono uguali:'+ map_obj1.equals (map_obj2));
Sistema.debug ('mappa 1 e mappa 3 sono uguali:'+ map_obj1.equals (map_obj3));

Produzione:

Gli oggetti della prima e della seconda mappa sono uguali poiché sia ​​le chiavi che i valori sono uguali in entrambi gli oggetti. Gli oggetti della prima e terza mappa non sono uguali poiché i tasti e i valori sono diversi.

Carta geografica.è vuoto()

Possiamo verificare se la mappa è vuota o meno utilizzando il metodo ISEmpty (). True viene restituito se la raccolta di mappe apice è vuota. Altrimenti, False viene restituito. Simile al metodo size (), non ci vorrà alcun parametro.

Sintassi:

map_object.è vuoto()

Esempio:

Creiamo due oggetti Map che sono correlati a "account" e controllia se questi due sono vuoti o meno.

// Account-1
Account account1 = nuovo account (name = 'linux suggerimenti');
Mappa map_obj1 = nuova mappa
account1 => 1000;
// Account-2
Mappa map_obj2 = new map ();
// è vuoto()
Sistema.debug ('map-1 è vuoto:'+map_obj1.è vuoto());
Sistema.debug ('map-2 è vuoto:'+map_obj2.è vuoto());

Produzione:

La prima mappa non è vuota poiché contiene una coppia di valore chiave. La seconda mappa è vuota poiché non contiene nessuno.

Carta geografica.rimuovere()

Il metodo Rimovi () nella raccolta della mappa Apex viene utilizzato per rimuovere una particolare coppia di valore chiave in base alla chiave che è specificata in esso come parametro. Se la chiave non esiste, viene sollevato un errore.

Sintassi:

map_object.Rimuovi (chiave)

Esempio:

Creiamo una mappa con due elementi e rimuoviamo il primo elemento.

Account account1 = nuovo account (name = 'linux suggerimenti');
Account account2 = nuovo account (name = 'python');
Mappa map_obj = nuova mappa
account1 => 1000, account2 => 4000;
Sistema.debug ("mappa esistente"+ map_obj);
//rimuovere()
map_obj.rimuovere (account1);
Sistema.debug ('Dopo aver rimosso il primo elemento:'+map_obj);

Produzione:

Dopo aver rimosso il primo elemento dalla mappa, esiste solo un elemento - account: name = python = 4000.

Carta geografica.Mettere()

Usando questo metodo, possiamo aggiungere direttamente un elemento all'oggetto mappa alla volta. Accetta due parametri: "Key" è il primo parametro mentre "Valore" è il secondo parametro.

Sintassi:

map_object.put (chiave, valore)

Esempio:

Creiamo una mappa con una coppia di valore chiave. Quindi, utilizziamo il metodo "Put" per inserire "account2".

// Account-1
Account account1 = nuovo account (name = 'linux suggerimenti');
Mappa map_obj1 = nuova mappa
account1 => 1000;
Sistema.debug ('Mappa effettiva:'+map_obj1);
// Account-2
Account account2 = nuovo account (name = 'python');
// Mettere()
map_obj1.put (account2.2000);
Sistema.debug ('mappa finale:'+map_obj1);

Produzione:

In precedenza, c'è solo una coppia di valore chiave nella mappa che è account: name = Linux suggerimenti = 1000. Dopo aver aggiunto "Account2", la mappa finale contiene due coppie di valore chiave che sono account: name = Linux suggerimenti = 1000 e account: name = python = 2000.

Carta geografica.metti tutto()

Usando questo metodo, possiamo aggiungere direttamente un singolo o più elementi all'oggetto mappa alla volta. Prende un oggetto di raccolta della mappa come parametro.

Sintassi:

map_object1.putall (map_object2)

Esempio:

Crea una mappa con due coppie di valore chiave e creiamo di nuovo un oggetto mappa vuoto senza elementi. Utilizzare il metodo putall () per aggiungere gli elementi disponibili nel primo oggetto mappa al secondo oggetto mappa.

Account account1 = nuovo account (name = 'linux suggerimenti');
Account account2 = nuovo account (name = 'python');
Mappa map_obj1 = nuova mappa
account1 => 1000, account2 => 2000;
Sistema.debug (map_obj1);
Mappa map_obj2 = new map ();
//metti tutto()
map_obj2.putall (map_obj1);
Sistema.debug (map_obj2);

Produzione:

Conclusione

La mappa è una struttura di dati che viene utilizzata principalmente negli scenari di trigger e aiuta a caricare più dati alla volta nel database Salesforce come un elenco. Abbiamo due opzioni per aggiungere gli elementi nella mappa: usando put () e putall (). Il metodo Rimovi () viene utilizzato per rimuovere un particolare elemento dalla raccolta della mappa Apex. Il metodo Clear () viene utilizzato per eliminare tutti gli elementi. Inoltre, abbiamo imparato come restituire i valori e le chiavi usando i metodi Values ​​() e KeySet ().