Salesforce Apex – Carte

Salesforce Apex Carte



La carte Salesforce Apex est une structure de données principalement utilisée dans les scénarios de déclenchement et permet de charger plus de données à la fois dans la base de données Salesforce comme une liste. Mais il stocke et organise les données dans le format de paire {key:value}. Nous discuterons de la collection de cartes dans le langage de programmation Apex et de ses méthodes. Ici, nous utiliserons l'objet standard Compte dans Salesforce pour tous les exemples. Plongeons rapidement dans ce tutoriel.

Carte

Map prend les données de la paire {key:value} comme entrée et les stocke dans les objets standard ou personnalisés de Salesforce. Il peut prendre le sObject comme clé ou valeur.







Création de carte

En spécifiant les types de données de la clé et de la valeur avec le nom de l'objet, la carte peut être créée. Ici, un nouveau mot clé est utilisé pour le créer. Il peut être facultatif de passer les éléments lors de la création.



Syntaxe de la carte vide :

Map map_obj = new Map() :

Syntaxe générique :

Map map_obj = new Map{

Clé => valeur,....} ;

Syntaxe sObject :

Map map_obj = new Map{

Clé => valeur,....} ;

Ici, le sObject peut être un objet standard ou personnalisé. Dans tout cet article, nous ne traiterons que de la carte avec le sObject « Compte ».



Voyons les méthodes prises en charge par la collection 'map' Apex une par une.





Configuration de l'environnement

1. Connectez-vous rapidement à Salesforce et ouvrez la 'Console développeur' en cliquant sur l'icône d'engrenage.



2. Ensuite, ouvrez la « Fenêtre anonyme » en cliquant sur « Déboguer » et « Ouvrir la fenêtre d'exécution anonyme ».

Exemple générique :

Premièrement, nous verrons la création de la carte générique en créant une carte avec deux sujets : le « subject_id » qui agit comme une clé et la « valeur » comme le nom du sujet.

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

system.debug(programmation);

Sortir:

  1. Cliquez sur 'Exécuter'.
  2. Cochez l'option 'Débogage uniquement'. Vous pouvez voir la sortie dans le 'Journal d'exécution'.

Méthodes de carte

Tout d'abord, nous créons une carte à partir de l'objet 'Compte'. Nous créons trois comptes avec des noms un par un. Ensuite, nous déclarons une carte avec la clé et la valeur comme tapez et transmettez les trois comptes précédents à la carte en fournissant des valeurs.

// Créer 3 comptes avec Name

Compte account1 = new Account();

Compte account2 = nouveau compte ();

Compte compte3 = nouveau compte (Nom = 'Python');

// Ajoute les comptes ci-dessus comme clés au map_obj

Map map_obj = new Map{

compte1 => 1000,compte2 => 2000,compte3 => 3000} ;

System.debug(map_obj);

Sortir:

Vous pouvez voir que 'map_obj' stocke trois comptes.

1. Map.values()

Pour renvoyer uniquement les valeurs de la carte donnée, nous pouvons utiliser la méthode values(). Il ne prendra aucun paramètre. Il renvoie simplement la liste des valeurs séparées par des virgules.

Syntaxe:

map_object.values()

Exemple:

Renvoyons toutes les valeurs de la carte précédente. Assurez-vous que vous devez exécuter l'exemple de code précédent (créez une carte avec trois comptes). Sinon, vous obtiendrez une erreur. Le code doit également exister dans la console.

// Renvoie les valeurs de toutes les clés à l'aide de values()

System.debug(map_obj.values());

Sortir:

Il n'y a que trois paires clé:valeur dans le map_obj. Les valeurs sont : 1000, 2000 et 3000.

2. Map.keySet()

Renvoie les clés présentes dans l'objet map. Semblable à values(), il n'est pas nécessaire de passer de paramètre à cette méthode.

Syntaxe:

map_object.keySet()

Exemple:

Renvoyons toutes les clés de la carte précédente. Assurez-vous d'exécuter l'exemple de code précédent (créez une carte avec trois comptes). Sinon, vous obtiendrez une erreur. Le code doit également exister dans la console.

// Renvoie toutes les clés à l'aide de keySet()

System.debug(map_obj.keySet());

Sortir:

Il n'y a que trois paires clé:valeur dans le map_obj. Les clés sont : {Account :{Name=Linux Hint}, Account :{Name=Python} et Account :{Name=Salesforce}.

3. Map.taille()

Dans certains scénarios, nous devons connaître le nombre total d'éléments (clé : valeur) présents dans la carte Apex. Size () est la méthode qui renvoie le nombre total de paires (clé: valeur) qui existent dans le map_object. Les paramètres ne sont pas nécessaires pour cette méthode.

Syntaxe:

map_object.size()

Exemple:

Renvoie la taille de l'objet cartographique précédent.

// Retourne le nombre total de paires en utilisant size()

System.debug(map_obj.size());

Sortir:

Puisqu'il n'y a que 3 paires, la taille renvoyée () est 3.

4. Map.get()

L'accès aux valeurs de la carte à l'aide de la clé se fait à l'aide de la méthode get (). Pour ce faire, nous devons passer la clé en paramètre à la méthode get(). Si une clé inconnue est passée, il renvoie une erreur.

Syntaxe:

map_object.get(clé)

Exemple:

Renvoyez les valeurs de clé-2 et clé-1 séparément.

// récupère la valeur de la deuxième clé

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

// récupère la valeur de la première clé

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

Sortir:

Ici, 2000 est la valeur de la clé 'Salesforce' et 1000 est la valeur de la clé 'Linux Hint'.

5. Map.clear()

Toutes les paires d'une collection de cartes Apex peuvent être supprimées à la fois à l'aide de la méthode clear(). Il ne prendra aucun paramètre.

Syntaxe:

map_object.clear()

Exemple:

Supprimez les paires dans le 'map_obj' précédent.

//Avant d'effacer()

System.debug(map_obj);

// Supprime toutes les paires en utilisant clear()

map_obj.clear();

//Après effacement()

System.debug(map_obj);

Sortir:

Auparavant, il y avait 3 paires clé-valeur dans le 'map_obj'. Après avoir appliqué la méthode clear(), les 3 sont supprimés.

6. Map.equals()

Nous pouvons comparer deux objets cartographiques en utilisant la méthode equals (). La valeur booléenne true est renvoyée si toutes les clés et valeurs sont identiques dans les deux objets de la carte. Tandis que la valeur booléenne de false est renvoyée si au moins une valeur est différente.

Syntaxe:

map_object1.equals(map_object2)

Exemple:

Créons trois objets cartographiques avec une paire clé:valeur, chacun par rapport à l'objet 'Compte'. Comparez ces objets entre eux.

// Compte-1

Compte account1 = new Account();

Map map_obj1 = new Map{

compte1 => 1000} ;

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

// Compte-2

Compte account2 = new Account();

Map map_obj2 = new Map{

compte2 => 1000} ;

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

// Compte-3

Compte compte3 = nouveau compte (Nom = 'Python');

Map map_obj3 = new Map{

compte3 => 2000} ;

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

// équivaut à()

System.debug('Map 1 & Map 2 sont égaux : '+ map_obj1.equals(map_obj2));

System.debug('Map 1 & Map 3 sont égaux : '+ map_obj1.equals(map_obj3));

Sortir:

Les premier et deuxième objets cartographiques sont égaux puisque les clés et les valeurs sont les mêmes dans les deux objets. Les premier et troisième objets cartographiques ne sont pas égaux puisque les clés et les valeurs sont différentes.

7. Map.isEmpty()

Nous pouvons vérifier si la carte est vide ou non en utilisant la méthode isEmpty(). True est renvoyé si la collection de cartes Apex est vide. Sinon, false est renvoyé. Similaire à la méthode size(), elle ne prendra aucun paramètre.

Syntaxe:

map_object.isEmpty()

Exemple:

Créons deux objets cartographiques liés à 'Compte' et vérifions si ces deux objets sont vides ou non.

// Compte-1

Compte account1 = new Account();

Map map_obj1 = new Map{

compte1 => 1000} ;



// Compte-2

Map map_obj2 = new Map();

// est vide()

System.debug('Map-1 est vide : '+map_obj1.isEmpty());

System.debug('Map-2 est vide : '+map_obj2.isEmpty());

Sortir:

La première carte n'est pas vide car elle contient une paire clé-valeur. La deuxième carte est vide puisqu'elle n'en contient aucune.

8. Map.remove()

La méthode remove() dans la collection de cartes Apex est utilisée pour supprimer une paire clé-valeur particulière en fonction de la clé qui y est spécifiée en tant que paramètre. Si la clé n'existe pas, une erreur est levée.

Syntaxe:

map_object.remove (clé)

Exemple:

Créons une carte avec deux éléments et supprimons le premier élément.

Compte account1 = new Account();

Compte compte2 = nouveau compte (Nom = 'Python');

Map map_obj = new Map{

compte1 => 1000,compte2 => 4000} ;

System.debug('Carte existante'+ map_obj);

//retirer()

map_obj.remove(compte1);

System.debug('Après avoir supprimé le premier élément :'+map_obj);

Sortir:

Après avoir supprimé le premier élément de la carte, un seul élément existe : {Account :{Name=Python}=4000}.

9. Map.put()

En utilisant cette méthode, nous pouvons directement ajouter un élément à l'objet de la carte à la fois. Il accepte deux paramètres : 'clé' est le premier paramètre tandis que 'valeur' est le deuxième paramètre.

Syntaxe:

map_object.put(clé,valeur)

Exemple:

Créons une carte avec une paire clé-valeur. Ensuite, nous utilisons la méthode 'put' pour insérer 'account2'.

// Compte-1

Compte account1 = new Account();

Map map_obj1 = new Map{

compte1 => 1000} ;

System.debug('Carte réelle : '+map_obj1);

// Compte-2

Compte compte2 = nouveau compte (Nom = 'Python');

// mettre()

map_obj1.put(compte2,2000);

System.debug('Carte finale : '+map_obj1);

Sortir:

Auparavant, il n'y avait qu'une seule paire clé-valeur dans la carte qui était {Account :{Name=Linux Hint}=1000}. Après avoir ajouté 'account2', la carte finale contient deux paires clé-valeur qui sont {Account :{Name=Linux Hint}=1000 et Account :{Name=Python}=2000}.

10. Map.putAll()

En utilisant cette méthode, nous pouvons directement ajouter un ou plusieurs éléments à l'objet de la carte à la fois. Il prend un objet de collection de cartes comme paramètre.

Syntaxe:

map_object1.putAll(map_object2)

Exemple:

Créons une carte avec deux paires clé-valeur et créons à nouveau un objet de carte vide sans éléments. Utilisez la méthode putAll() pour ajouter les éléments disponibles dans le premier objet cartographique au deuxième objet cartographique.

Compte account1 = new Account();

Compte compte2 = nouveau compte (Nom = 'Python');

Map map_obj1 = new Map{

compte1 => 1000, compte2=> 2000} ;

System.debug(map_obj1);

Map map_obj2 = new Map();

//Met tout()

map_obj2.putAll(map_obj1);

System.debug(map_obj2);

Sortir:

Conclusion

Map est une structure de données principalement utilisée dans les scénarios de déclenchement et permet de charger plus de données à la fois dans la base de données Salesforce, comme une liste. Nous avons deux options pour ajouter les éléments dans la carte : en utilisant put() et putAll(). La méthode remove() est utilisée pour supprimer un élément particulier de la collection de cartes Apex. La méthode clear() est utilisée pour supprimer tous les éléments. De plus, nous avons appris à renvoyer les valeurs et les clés à l'aide des méthodes values() et keySet().