Salesforce Apex - mapa

Salesforce Apex - mapa

Salesforce APEX Map to struktura danych, która jest używana głównie w scenariuszach wyzwalacza i pomaga załadować więcej danych na raz do bazy danych Salesforce jak lista. Ale przechowuje i organizuje dane w formacie pary klucz: wartość. Omówimy kolekcję map w języku programowania APEX i jego metodach. Tutaj użyjemy standardowego obiektu konta w Salesforce dla wszystkich przykładów. Szybko zanurzmy się w tym samouczku.

Mapa

Mapa przyjmuje dane pary klucz: wartość jako wejście i przechowuje je w standardowych lub niestandardowych obiektach Salesforce. Może traktować sobject jako klucz lub wartość.

Tworzenie map

Określając typy danych klucza i wartości wraz z nazwą obiektu, można utworzyć mapę. Tutaj do ich tworzenia używane jest nowe słowo kluczowe. Przeniesienie elementów podczas tworzenia może być opcjonalne.

Składnia pustej mapy:

Mapa mapy_obj = nowa mapa ():

Ogólna składnia:

Mapa mapy_obj = nowa mapa
Key => wartość,…;

Składnia Sobject:

Mapa mapy_obj = nowa mapa
Key => wartość,…;

Tutaj sobject może być obiektem standardowym lub niestandardowym. W całym tym artykule będziemy zajmować się mapą tylko z „konto” Sobject.

Zobaczmy metody obsługiwane przez kolekcję APEX „Map” jeden po drugim.

Konfiguracja środowiska

1. Szybko zaloguj się do Salesforce i otwórz „konsolę programistów”, klikając ikonę Gear.

2. Następnie otwórz „Anonimowe okno”, klikając „Debug” i „Otwórz anonimowe okno”.

Przykład ogólny:

Najpierw zobaczymy ogólne tworzenie mapy, tworząc mapę z dwoma tematami: „temat_id”, który działa jako klucz i „wartość” jako nazwa tematu.

Programowanie map = nowa mapa 1 => „Linux”, 2 => 'Python';
system.debugowanie (programowanie);

Wyjście:

  1. Kliknij „Wykonaj”.
  2. Sprawdź opcję „Tylko debugowanie”. Możesz zobaczyć dane wyjściowe w „dzienniku wykonania”.

Metody map

Najpierw tworzymy mapę z obiektu „konta”. Tworzymy trzy konta z nazwiskami jeden po drugim. Następnie deklarujemy mapę z kluczem i wartością jako wpisz i przekazaj trzy poprzednie konta na mapę, podając pewne wartości.

// Utwórz 3 konta o imieniu
Konto konta
Konto konta2 = nowe konto (name = „salesforce”);
Konto konta3 = nowe konto (name = „Python”);
// Dodaj powyższe konta jako klucze do map_obj
Mapa mapy_obj = nowa mapa
konto1 => 1000, konto2 => 2000, konto3 => 3000;
System.debug (map_obj);

Wyjście:

Możesz zobaczyć, że „map_obj” przechowuje trzy konta.

Mapa.wartości ()

Aby zwrócić tylko wartości z danej mapy, możemy użyć metody wartości (). Nie weźmie żadnych parametrów. Po prostu zwraca listę wartości oddzielonych przecinkiem.

Składnia:

map_object.wartości ()

Przykład:

Zwróćmy wszystkie wartości z poprzedniej mapy. Upewnij się, że musisz wykonać poprzedni kod przykładowy (utwórz mapę z trzema kontami). W przeciwnym razie otrzymasz błąd. Kod powinien również istnieć w konsoli.

// Zwracaj wartości dla wszystkich kluczy przy użyciu wartości ()
System.debug (map_obj.wartości ());

Wyjście:

Istnieją tylko trzy klucze: pary wartości w MAP_OBJ. Wartości to: 1000, 2000 i 3000.

Mapa.zestaw kluczy()

Zwróć klucze są obecne w obiekcie mapy. Podobnie jak wartości (), nie ma potrzeby przekazywania żadnego parametru do tej metody.

Składnia:

map_object.zestaw kluczy()

Przykład:

Zwróćmy wszystkie klucze z poprzedniej mapy. Upewnij się, że wykonujesz poprzedni przykładowy kod (utwórz mapę z trzema kontami). W przeciwnym razie otrzymasz błąd. Kod powinien również istnieć w konsoli.

// Zwróć wszystkie klawisze za pomocą KeySet ()
System.debug (map_obj.zestaw kluczy());

Wyjście:

Istnieją tylko trzy klucze: pary wartości w MAP_OBJ. Klucze to: konto: name = Linux wskazówka, konto: name = pyhon i konto: name = salesforce.

Mapa.rozmiar()

W niektórych scenariuszach musimy znać pary wszystkich elementów (klucz: wartość), które są obecne na mapie wierzchołkowej. Size () to metoda zwraca pary całkowitej (klucz: wartość), które istnieją w map_object. Parametry nie są potrzebne do tej metody.

Składnia:

map_object.rozmiar()

Przykład:

Zwróć rozmiar poprzedniego obiektu mapy.

// Zwróć całkowitą liczbę par za pomocą rozmiaru ()
System.debug (map_obj.rozmiar());

Wyjście:

Ponieważ są tylko 3 pary, zwrócony rozmiar () to 3.

Mapa.Dostawać()

Dostęp do wartości z mapy za pomocą klawisza odbywa się za pomocą metody get (). Aby to zrobić, musimy przekazać klucz jako parametr do metody get (). Jeśli nieznany klucz zostanie przekazany, zwraca błąd.

Składnia:

map_object.Weź klucz)

Przykład:

Zwróć wartości klawisz-2 i klawisz-1 osobno.

// Uzyskaj wartość drugiego klucza
System.debug (map_obj.get (konto2));
// Uzyskaj wartość pierwszego klucza
System.debug (map_obj.get (konto1));

Wyjście:

Tutaj 2000 to wartość klucza „Salesforce”, a 1000 to wartość klucza „Linux wskazówka”.

Mapa.jasne()

Wszystkie pary w kolekcji map wierzchołkowych można usunąć jednocześnie za pomocą metody clear (). Nie weźmie żadnych parametrów.

Składnia:

map_object.jasne()

Przykład:

Usuń pary w poprzednim „Map_Obj”.

// Przed Clear ()
System.debug (map_obj);
// Usuń wszystkie pary za pomocą clear ()
map_obj.jasne();
// po Clear ()
System.debug (map_obj);

Wyjście:

Wcześniej w „Map_Obj” znajdują się 3 pary kluczowe. Po zastosowaniu metody Clear () wszystkie 3 są usuwane.

Mapa.równa się()

Możemy porównać dwa obiekty mapy za pomocą metody equals (). Wartość logiczna True jest zwracana, jeśli wszystkie klucze i wartości są takie same w obu obiektach mapy. Podczas gdy wartość logiczna False jest zwracana, jeśli co najmniej jedna wartość jest inna.

Składnia:

map_object1.równa się (MAP_OBject2)

Przykład:

Utwórzmy trzy obiekty mapy za pomocą jednego klucza: para wartości, każda w odniesieniu do obiektu „konta”. Porównaj te obiekty między nimi.

// konto-1
Konto konta
Mapa mapa_obj1 = nowa mapa
konto1 => 1000;
System.Debug („Mapa - 1:” + Map_Obj1);
// Konto-2
Konto konta2 = nowe konto (name = 'Linux Hint');
Mapa mapa_obj2 = nowa mapa
konto2 => 1000;
System.Debug („Mapa - 2:” + map_obj1);
// Konto-3
Konto konta3 = nowe konto (name = „Python”);
Mapa mapa_obj3 = nowa mapa
konto3 => 2000;
System.Debug („Mapa - 3:” + map_obj3);
// równa się()
System.debugowanie („Map 1 i mapa 2 są równe:”+ map_obj1.równa (map_obj2));
System.debugowanie („Map 1 i mapa 3 są równe:”+ map_obj1.równa się (MAP_OBJ3));

Wyjście:

Pierwsze i drugie obiekty mapy są równe, ponieważ oba klucze i wartości są takie same w obu obiektach. Pierwsze i trzecie obiekty mapy nie są równe, ponieważ klucze i wartości są różne.

Mapa.jest pusty()

Możemy sprawdzić, czy mapa jest pusta, czy nie przy użyciu metody isEmpty (). Prawda jest zwracana, jeśli kolekcja map wierzchołka jest pusta. W przeciwnym razie Fałsz zostaje zwrócony. Podobnie jak metoda rozmiar (), nie weźmie żadnego parametru.

Składnia:

map_object.jest pusty()

Przykład:

Utwórzmy dwa obiekty mapy związane z „konto” i sprawdź, czy te dwa są puste, czy nie.

// konto-1
Konto konta
Mapa mapa_obj1 = nowa mapa
konto1 => 1000;
// Konto-2
Map mapy_obj2 = new map ();
// jest pusty()
System.Debug („Map-1 jest pusty:”+map_obj1.jest pusty());
System.Debug („Map-2 jest pusty:”+map_obj2.jest pusty());

Wyjście:

Pierwsza mapa nie jest pusta, ponieważ zawiera jedną parę wartości kluczowej. Druga mapa jest pusta, ponieważ nie ma żadnej.

Mapa.usunąć()

Metoda remove () w kolekcji map wierzchołka służy do usunięcia określonej pary wartości kluczowej na podstawie klucza określonego w niej jako parametru. Jeśli klucz nie istnieje, błąd jest podniesiony.

Składnia:

map_object.Usuń (klucz)

Przykład:

Utwórzmy mapę z dwoma elementami i usuń pierwszy element.

Konto konta
Konto konta2 = nowe konto (name = „Python”);
Mapa mapy_obj = nowa mapa
konto1 => 1000, konto2 => 4000;
System.debug („istniejąca mapa”+ map_obj);
//usunąć()
map_obj.Usuń (konto1);
System.debugowanie („Po usunięciu pierwszego elementu:”+map_obj);

Wyjście:

Po usunięciu pierwszego elementu z mapy istnieje tylko jeden element - konto: name = Python = 4000.

Mapa.umieścić()

Za pomocą tej metody możemy bezpośrednio dodać jeden element do obiektu mapy. Akceptuje dwa parametry: „Klucz” jest pierwszym parametrem, podczas gdy „wartość” jest drugim parametrem.

Składnia:

map_object.Put (klucz, wartość)

Przykład:

Utwórzmy mapę z jedną parą kluczową wartością. Następnie używamy metody „PUT” do wstawienia „konta2”.

// konto-1
Konto konta
Mapa mapa_obj1 = nowa mapa
konto1 => 1000;
System.debug („faktyczna mapa:”+map_obj1);
// Konto-2
Konto konta2 = nowe konto (name = „Python”);
// umieścić()
MAP_OBJ1.PUT (konto 2,2000);
System.Debug („Mapa końcowa:”+map_obj1);

Wyjście:

Wcześniej na mapie znajduje się tylko jedna para wartości kluczowej, która jest konto: name = Linux wskazówka = 1000. Po dodaniu „konta2” mapa końcowa zawiera dwie pary wartości kluczy, które są konto: name = Linux wskazówka = 1000 i konto: name = Python = 2000.

Mapa.połóż wszystko()

Za pomocą tej metody możemy bezpośrednio dodawać pojedyncze lub wiele elementów do obiektu mapy. Zakłada obiekt zbioru map jako parametr.

Składnia:

map_object1.putall (MAP_OBject2)

Przykład:

Utwórzmy mapę z dwiema parami wartości kluczowej i ponownie utwórz pusty obiekt mapy bez żadnych elementów. Użyj metody putAll (), aby dodać elementy dostępne w pierwszym obiekcie mapy do drugiego obiektu mapy.

Konto konta
Konto konta2 = nowe konto (name = „Python”);
Mapa mapa_obj1 = nowa mapa
konto1 => 1000, konto2 => 2000;
System.debug (MAP_OBJ1);
Map mapy_obj2 = new map ();
//połóż wszystko()
MAP_OBJ2.putall (MAP_OBJ1);
System.debug (MAP_OBJ2);

Wyjście:

Wniosek

Map to struktura danych, która jest głównie używana w scenariuszach wyzwalacza i pomaga ładować więcej danych na raz do bazy danych Salesforce, jak lista. Mamy dwie opcje dodania elementów do mapy: za pomocą put () i putall (). Metoda remove () służy do usunięcia konkretnego elementu z kolekcji map wierzchołkowych. Metoda clear () służy do usuwania wszystkich elementów. Nauczyliśmy się również, jak zwracać wartości i klawisze za pomocą metod wartości () i keyset ().