Salesforce Apex - Carte

Salesforce Apex - Carte

La carte Salesforce Apex est une structure de données qui est principalement utilisée dans les scénarios de déclenchement et aide à 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 au format clé: valeur. Nous discuterons de la collection de cartes dans le langage de programmation Apex et ses méthodes. Ici, nous utiliserons l'objet standard du compte dans Salesforce pour tous les exemples. Plongeons rapidement dans ce tutoriel.

Carte

MAP prend les données de la paire clé: valeur en entrée et les stocke dans les objets standard ou personnalisés Salesforce. Il peut prendre le sobject comme la clé ou la valeur.

Création de cartes

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 pendant la création.

Syntaxe de carte vide:

Map map_obj = new map ():

Syntaxe générique:

Map map_obj = nouvelle carte
Key => valeur,…;

Syntaxe Sobject:

Map map_obj = nouvelle carte
Key => valeur,…;

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

Voyons les méthodes soutenues par la collection «Map» Apex une par une.

Configuration de l'environnement

1. Connectez-vous rapidement à Salesforce et ouvrez la «console du développeur» en cliquant sur l'icône de l'équipement.

2. Ensuite, ouvrez la «fenêtre anonyme» en cliquant sur «Debug» et «Ouvrez exécuter la fenêtre anonyme».

Exemple générique:

Tout d'abord, nous verrons la création de cartes génériques en créant une carte avec deux sujets: le «sujet_id» qui agit comme une clé et une «valeur» comme nom de sujet.

Map Programming = new Map 1 => 'Linux', 2 => 'Python';
système.débogage (programmation);

Sortir:

  1. Cliquez sur «Exécuter».
  2. Vérifiez 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 quelques valeurs.

// Créer 3 comptes avec nom
Compte compte 1 = nouveau compte (name = 'linux hint');
Compte compte 2 = nouveau compte (name = 'Salesforce');
Compte Compte3 = nouveau compte (name = 'python');
// Ajouter les comptes ci-dessus en tant que clés au MAP_OBJ
Map map_obj = nouvelle carte
Account1 => 1000, compte2 => 2000, compte3 => 3000;
Système.Debug (map_obj);

Sortir:

Vous pouvez voir que «MAP_OBJ» stocke trois comptes.

Carte.valeurs()

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

Syntaxe:

map_object.valeurs()

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éer une carte avec trois comptes). Sinon, vous obtiendrez une erreur. Le code devrait également exister dans la console.

// RETOUR les valeurs pour toutes les touches en utilisant des valeurs ()
Système.débogage (map_obj.valeurs());

Sortir:

Il n'y a que trois touches: Paies de valeur dans le map_obj. Les valeurs sont: 1000, 2000 et 3000.

Carte.keyset ()

Retour les clés sont présentes dans l'objet Map. Similaire à Values ​​(), il n'est pas nécessaire de passer un 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éer une carte avec trois comptes). Sinon, vous obtiendrez une erreur. Le code devrait également exister dans la console.

// Renvoie toutes les touches à l'aide de keyset ()
Système.débogage (map_obj.keySet ());

Sortir:

Il n'y a que trois touches: Paies de valeur dans le map_obj. Les touches sont: compte: name = linux hint, compte: name = python, et compte: name = salesforce.

Carte.taille()

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

Syntaxe:

map_object.taille()

Exemple:

Retourner la taille de l'objet de carte précédente.

// retourner le nombre total de paires en utilisant la taille ()
Système.débogage (map_obj.taille());

Sortir:

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

Carte.obtenir()

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

Syntaxe:

map_object.Obtenir la clé)

Exemple:

Renvoie séparément les valeurs de Key-2 et Key-1.

// Obtenez la valeur de la deuxième clé
Système.débogage (map_obj.get (compte2));
// Obtenez la valeur de la première clé
Système.débogage (map_obj.get (compte1));

Sortir:

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

Carte.clair()

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

Syntaxe:

map_object.clair()

Exemple:

Retirez les paires dans le précédent «Map_OBJ».

// Avant Clear ()
Système.Debug (map_obj);
// Retirez toutes les paires en utilisant clear ()
map_obj.clair();
// après clear ()
Système.Debug (map_obj);

Sortir:

Auparavant, il y a 3 paires de valeurs clés dans le «map_obj». Après avoir appliqué la méthode Clear (), les 3 sont supprimées.

Carte.équivaut à()

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

Syntaxe:

map_object1.égaux (map_object2)

Exemple:

Créons trois objets MAP avec une paire de touches: Paire de valeur, chacune par rapport à l'objet «compte». Comparez ces objets parmi eux.

// compte-1
Compte compte 1 = nouveau compte (name = 'linux hint');
Map map_obj1 = nouvelle carte
compte1 => 1000;
Système.debug ('map - 1:' + map_obj1);
// compte-2
Compte compte 2 = nouveau compte (name = 'linux hint');
Map map_obj2 = nouvelle carte
compte2 => 1000;
Système.debug ('map - 2:' + map_obj1);
// compte-3
Compte Compte3 = nouveau compte (name = 'python');
Map map_obj3 = nouvelle carte
compte3 => 2000;
Système.debug ('map - 3:' + map_obj3);
// équivaut à()
Système.Debug ('La carte 1 et la carte 2 sont égales:' + map_obj1.égal (map_obj2));
Système.Debug ('La carte 1 et la carte 3 sont égales:' + map_obj1.égaux (map_obj3));

Sortir:

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

Carte.est vide()

Nous pouvons vérifier si la carte est vide ou non en utilisant la méthode iSempty (). Vrai est renvoyé si la collection de cartes Apex est vide. Sinon, false est retourné. Semblable à la méthode size (), il ne prendra aucun paramètre.

Syntaxe:

map_object.est vide()

Exemple:

Créons deux objets de carte liés au «compte» et vérifions si ces deux sont vides ou non.

// compte-1
Compte compte 1 = nouveau compte (name = 'linux hint');
Map map_obj1 = nouvelle carte
compte1 => 1000;
// compte-2
Map map_obj2 = new map ();
// est vide()
Système.Debug ('Map-1 est vide:' + map_obj1.est vide());
Système.Debug ('Map-2 est vide:' + map_obj2.est vide());

Sortir:

La première carte n'est pas vide car elle contient une paire de valeurs clés. La deuxième carte est vide car elle n'en tient pas.

Carte.retirer()

La méthode supprime () dans la collection de cartes Apex est utilisée pour supprimer une paire de valeurs de clé particulière basée sur la clé qui est spécifiée en tant que paramètre. Si la clé n'existe pas, une erreur est augmentée.

Syntaxe:

map_object.supprimer (clé)

Exemple:

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

Compte compte 1 = nouveau compte (name = 'linux hint');
Compte compte 2 = nouveau compte (name = 'python');
Map map_obj = nouvelle carte
compte1 => 1000, compte2 => 4000;
Système.debug ('map existant' + map_obj);
//retirer()
map_obj.supprimer (compte1);
Système.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 - compte: name = python = 4000.

Carte.mettre()

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

Syntaxe:

map_object.put (clé, valeur)

Exemple:

Créons une carte avec une paire de valeurs clés. Ensuite, nous utilisons la méthode «put» pour insérer «Account2».

// compte-1
Compte compte 1 = nouveau compte (name = 'linux hint');
Map map_obj1 = nouvelle carte
compte1 => 1000;
Système.debug ('map réelle:' + map_obj1);
// compte-2
Compte compte 2 = nouveau compte (name = 'python');
// mettre()
map_obj1.put (compte2,2000);
Système.Debug ('Map final:' + map_obj1);

Sortir:

Auparavant, il n'y a qu'une seule paire de valeurs de clé dans la carte qui est compte: name = linux hint = 1000. Après avoir ajouté «Account2», la carte finale contient deux paires de valeurs clés qui sont compte: name = linux hint = 1000 et compte: name = python = 2000.

Carte.Met tout()

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

Syntaxe:

map_object1.putall (map_object2)

Exemple:

Créons une carte avec deux paires de valeurs clés et réalisons à nouveau un objet de carte vide sans éléments. Utilisez la méthode putall () pour ajouter les éléments disponibles dans le premier objet MAP dans le deuxième objet MAP.

Compte compte 1 = nouveau compte (name = 'linux hint');
Compte compte 2 = nouveau compte (name = 'python');
Map map_obj1 = nouvelle carte
compte1 => 1000, compte2 => 2000;
Système.Debug (MAP_OBJ1);
Map map_obj2 = new map ();
//Met tout()
map_obj2.putall (map_obj1);
Système.Debug (MAP_OBJ2);

Sortir:

Conclusion

MAP est une structure de données qui est principalement utilisée dans les scénarios de déclenchement et aide à 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 supprime () 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. Nous avons également appris à renvoyer les valeurs et les clés en utilisant les méthodes VALEUR () et KeySet ().