Salesforce Apex - Mapa

Salesforce Apex - Mapa

Salesforce Apex Map es una estructura de datos que se usa principalmente en escenarios de activación y ayuda a cargar más datos a la vez en la base de datos de Salesforce como una lista. Pero almacena y organiza los datos en el formato de par clave: valor. Discutiremos la colección de mapas en el lenguaje de programación APEX y sus métodos. Aquí, utilizaremos el objeto estándar de cuenta en Salesforce para todos los ejemplos. Vamos a sumergirnos rápidamente en este tutorial.

Mapa

El mapa toma los datos del par clave: valor como entrada y los almacena en el estándar de Salesforce o objetos personalizados. Puede tomar el Sobject como la clave o el valor.

Creación de mapas

Al especificar los tipos de datos de la clave y el valor junto con el nombre del objeto, se puede crear el mapa. Aquí, se usa una nueva palabra clave para crearla. Puede ser opcional pasar los elementos durante la creación.

Sintaxis del mapa vacío:

Map map_obj = nuevo map ()::

Sintaxis genérica:

Map map_obj = nuevo mapa
Clave => valor, ...;

sintaxis de Sobject:

Map map_obj = nuevo mapa
Clave => valor, ...;

Aquí, el Sobject puede ser un objeto estándar o personalizado. En todo este artículo, solo lidiaremos con el mapa con el SOBJECT "cuenta".

Veamos los métodos compatibles con la colección de "mapa" de Apex uno por uno.

Configuración del medio ambiente

1. Inicie sesión rápidamente en Salesforce y abra la "Consola de desarrollador" haciendo clic en el icono de Gear.

2. Luego, abra la "ventana anónima" haciendo clic en "Depurar" y "Abra la ventana de ejecución anónima".

Ejemplo genérico:

Primero, veremos la creación del mapa genérico creando un mapa con dos temas: el "asign_id" que actúa como una clave y "valor" como el nombre del sujeto.

Programación de mapas = nuevo mapa 1 => 'Linux', 2 => 'Python';
sistema.depuración (programación);

Producción:

  1. Haga clic en "Ejecutar".
  2. Compruebe la opción "solo depurar". Puede ver la salida en el "Registro de ejecución".

Métodos de mapa

Primero, creamos un mapa del objeto "cuenta". Creamos tres cuentas con nombres uno por uno. Luego, declaramos un mapa con la clave y el valor como escriba y pase las tres cuentas anteriores al mapa proporcionando algunos valores.

// crear 3 cuentas con nombre
Cuenta de cuenta1 = nueva cuenta (name = 'Linux Sugerencia');
Cuenta de cuenta2 = nueva cuenta (name = 'Salesforce');
Cuenta de cuenta3 = nueva cuenta (name = 'Python');
// Agregue las cuentas de arriba como claves para el map_obj
Map map_obj = nuevo mapa
cuenta1 => 1000, cuenta2 => 2000, cuenta3 => 3000;
Sistema.debug (map_obj);

Producción:

Puede ver que "map_obj" almacena tres cuentas.

Mapa.valores()

Para devolver solo los valores del mapa dado, podemos usar el método valores (). No tomará ningún parámetro. Simplemente devuelve la lista de valores separados por coma.

Sintaxis:

map_object.valores()

Ejemplo:

Devolvamos todos los valores del mapa anterior. Asegúrese de necesitar ejecutar el código de ejemplo anterior (cree un mapa con tres cuentas). De lo contrario, recibirá un error. El código también debería existir en la consola.

// Devuelve valores para todas las teclas usando valores ()
Sistema.Debug (map_obj.valores());

Producción:

Solo hay tres clave: pares de valor en el map_obj. Los valores son: 1000, 2000 y 3000.

Mapa.juego de llaves()

Devolver las teclas están presentes en el objeto de mapa. Similar a valores (), no es necesario pasar ningún parámetro a este método.

Sintaxis:

map_object.juego de llaves()

Ejemplo:

Devolvamos todas las claves del mapa anterior. Asegúrese de ejecutar el código de ejemplo anterior (cree un mapa con tres cuentas). De lo contrario, recibirá un error. El código también debería existir en la consola.

// Devuelve todas las teclas usando KeySet ()
Sistema.Debug (map_obj.juego de llaves());

Producción:

Solo hay tres clave: pares de valor en el map_obj. Las claves son: cuenta: name = Linux Sintin, cuenta: name = Python y cuenta: name = Salesforce.

Mapa.tamaño()

En algunos escenarios, necesitamos saber los pares totales de elementos (clave: valor) que están presentes en el mapa de Apex. Size () es el método que devuelve los pares totales (clave: valor) que existen en el map_object. Los parámetros no son necesarios para este método.

Sintaxis:

map_object.tamaño()

Ejemplo:

Devolver el tamaño del objeto de mapa anterior.

// devuelve el número total de pares usando size ()
Sistema.Debug (map_obj.tamaño());

Producción:

Dado que solo hay 3 pares, el tamaño devuelto () es 3.

Mapa.conseguir()

Acceso a los valores del mapa utilizando la tecla se realiza utilizando el método get (). Para hacer esto, necesitamos pasar la clave como parámetro al método get (). Si se pasa una clave desconocida, devuelve un error.

Sintaxis:

map_object.obtener la clave)

Ejemplo:

Devuelva los valores de Key-2 y Key-1 por separado.

// Obtener el valor de la segunda clave
Sistema.Debug (map_obj.get (cuenta2));
// Obtener el valor de la primera clave
Sistema.Debug (map_obj.get (cuenta1));

Producción:

Aquí, 2000 es el valor de la clave "Salesforce" y 1000 es el valor de la clave "Linux Sugerencia".

Mapa.claro()

Todos los pares en una colección de mapas de Apex se pueden eliminar a la vez utilizando el método Clear (). No tomará ningún parámetro.

Sintaxis:

map_object.claro()

Ejemplo:

Elimine los pares en el anterior "MAP_OBJ".

// antes transparente ()
Sistema.debug (map_obj);
// Eliminar todos los pares usando Clear ()
map_obj.claro();
// después de Clear ()
Sistema.debug (map_obj);

Producción:

Anteriormente, hay 3 pares de valor clave en el "MAP_OBJ". Después de aplicar el método Clear (), los 3 se eliminan.

Mapa.igual ()

Podemos comparar dos objetos de mapa utilizando el método Equals (). El valor booleano de verdadero se devuelve si todas las teclas y valores son los mismos en ambos objetos de mapa. Mientras que el valor booleano de falso se devuelve si al menos un valor es diferente.

Sintaxis:

map_object1.iguales (map_object2)

Ejemplo:

Creemos tres objetos de mapa con una clave: par de valor, cada uno con respecto al objeto "cuenta". Compare estos objetos entre ellos.

// Cuenta-1
Cuenta de cuenta1 = nueva cuenta (name = 'Linux Sugerencia');
MAP MAP_OBJ1 = nuevo mapa
cuenta1 => 1000;
Sistema.debug ('map - 1:' + map_obj1);
// Cuenta-2
Cuenta de cuenta2 = nueva cuenta (name = 'Linux Sugerio');
MAP MAP_OBJ2 = nuevo mapa
cuenta2 => 1000;
Sistema.debug ('map - 2:' + map_obj1);
// Cuenta-3
Cuenta de cuenta3 = nueva cuenta (name = 'Python');
MAP MAP_OBJ3 = nuevo mapa
cuenta3 => 2000;
Sistema.debug ('map - 3:' + map_obj3);
// igual ()
Sistema.Debug ('Map 1 y Map 2 son iguales:'+ MAP_OBJ1.iguales (map_obj2));
Sistema.Debug ('Map 1 y Map 3 son iguales:'+ MAP_OBJ1.iguales (map_obj3));

Producción:

Los objetos de primer y segundo mapa son iguales, ya que tanto las teclas como los valores son los mismos en ambos objetos. Los objetos de primer y tercer mapa no son iguales ya que las teclas y los valores son diferentes.

Mapa.esta vacio()

Podemos verificar si el mapa está vacío o no utilizando el método isEtimty (). Verdadero se devuelve si la colección de mapas de Apex está vacía. De lo contrario, se devuelve el falso. Similar al método size (), no tomará ningún parámetro.

Sintaxis:

map_object.esta vacio()

Ejemplo:

Creemos dos objetos de mapa relacionados con la "cuenta" y verifiquemos si estos dos están vacíos o no.

// Cuenta-1
Cuenta de cuenta1 = nueva cuenta (name = 'Linux Sugerencia');
MAP MAP_OBJ1 = nuevo mapa
cuenta1 => 1000;
// Cuenta-2
Map map_obj2 = new Map ();
// esta vacio()
Sistema.Debug ('MAP-1 está vacío:'+MAP_OBJ1.esta vacio());
Sistema.Debug ('MAP-2 está vacío:'+MAP_OBJ2.esta vacio());

Producción:

El primer mapa no está vacío, ya que contiene un par de valores clave. El segundo mapa está vacío ya que no tiene ninguno.

Mapa.eliminar()

El método remove () en la colección de mapas APEX se utiliza para eliminar un par de clave de clave particular basado en la tecla que se especifica como un parámetro. Si la clave no existe, se plantea un error.

Sintaxis:

map_object.eliminar (clave)

Ejemplo:

Creemos un mapa con dos elementos y eliminemos el primer elemento.

Cuenta de cuenta1 = nueva cuenta (name = 'Linux Sugerencia');
Cuenta cuenta2 = nueva cuenta (name = 'Python');
Map map_obj = nuevo mapa
cuenta1 => 1000, cuenta2 => 4000;
Sistema.debug ('mapa existente'+ map_obj);
//eliminar()
map_obj.eliminar (cuenta1);
Sistema.debug ('después de eliminar el primer elemento:'+map_obj);

Producción:

Después de eliminar el primer elemento del mapa, solo existe un elemento: cuenta: name = Python = 4000.

Mapa.poner()

Usando este método, podemos agregar directamente un elemento al objeto de mapa a la vez. Acepta dos parámetros: "clave" es el primer parámetro, mientras que "valor" es el segundo parámetro.

Sintaxis:

map_object.poner (clave, valor)

Ejemplo:

Creemos un mapa con un par de valores clave. Luego, usamos el método "Put" para insertar "Cuenta2".

// Cuenta-1
Cuenta de cuenta1 = nueva cuenta (name = 'Linux Sugerencia');
MAP MAP_OBJ1 = nuevo mapa
cuenta1 => 1000;
Sistema.debug ('mapa real:'+map_obj1);
// Cuenta-2
Cuenta cuenta2 = nueva cuenta (name = 'Python');
// poner()
map_obj1.poner (cuenta 2,2000);
Sistema.debug ('mapa final:'+map_obj1);

Producción:

Anteriormente, solo hay un par de valores clave en el mapa que es cuenta: name = Linux Sugerencia = 1000. Después de agregar "Account2", el mapa final contiene dos pares de valor clave que son cuenta: name = Linux Sugerencia = 1000 y cuenta: name = Python = 2000.

Mapa.poner todo()

Usando este método, podemos agregar directamente un solo o múltiples elementos al objeto de mapa a la vez. Toma un objeto de colección de mapas como parámetro.

Sintaxis:

map_object1.Putall (map_object2)

Ejemplo:

Creemos un mapa con dos pares de valor clave y creemos un objeto de mapa vacío nuevamente sin elementos. Use el método Putall () para agregar los elementos que están disponibles en el primer objeto de mapa al segundo objeto de mapa.

Cuenta de cuenta1 = nueva cuenta (name = 'Linux Sugerencia');
Cuenta cuenta2 = nueva cuenta (name = 'Python');
MAP MAP_OBJ1 = nuevo mapa
cuenta1 => 1000, cuenta2 => 2000;
Sistema.debug (map_obj1);
Map map_obj2 = new Map ();
//poner todo()
map_obj2.putall (map_obj1);
Sistema.debug (map_obj2);

Producción:

Conclusión

MAP es una estructura de datos que se usa principalmente en escenarios de activación y ayuda a cargar más datos a la vez en la base de datos de Salesforce como una lista. Tenemos dos opciones para agregar los elementos al mapa: usar Put () y Putall (). El método remove () se utiliza para eliminar un elemento particular de la colección de mapas de Apex. El método Clear () se usa para eliminar todos los elementos. Además, aprendimos cómo devolver los valores y claves utilizando los métodos valores () y tecla ().