Skip to main content

Utilizar colecciones

Objetivos de aprendizaje

Después de completar esta unidad, podrá:

  • Declarar e iniciar una lista.
  • Explicar las dos formas de agregar elementos a una lista.
¿Sabe que puede aprender con la ayuda de un experto? Vea este vídeo para obtener más información sobre los temas de este módulo:

Colecciones

Una colección es un tipo de variable que puede almacenar varios elementos. En el ejemplo del té, tenemos un azucarero que contiene varios terrones de azúcar. Se considera que el azucarero es la colección y los terrones de azúcar son los elementos almacenados en esa colección.

Una colección etiquetada como Azucarero. Los terrones de azúcar del azucarero están etiquetados como Elementos en la colección.

Aunque hay tres tipos de colecciones de Apex (listas, conjuntos y asignaciones), en este módulo nos centraremos en las listas.  

Listas

Una lista de Apex es un grupo ordenado de elementos del mismo tipo, como una lista de la compra. 

  1. Azúcar
  2. Miel
  3. Leche

Cada elemento de la lista de la compra es una cadena, y cada elemento tiene una posición en la lista. Para declarar una lista necesita varias cosas. Utilizará la palabra reservada de la lista, el tipo de datos (todos los elementos deben ser del mismo tipo de datos) dentro de los <> caracteres, y la palabra reservada nueva. Al final de esta declaración se necesitan paréntesis. 

List <String> groceries = new List <String>();

Nota

Nota

Las palabras reservadas son palabras programadas que tienen un significado especial y no pueden utilizarse como nombres de variables. Palabras como new, string, false, null y otras producirán un error de sintaxis si intenta nombrar a una variable de la misma manera.

Declarar una lista vacía

  1. En Developer Console, haga clic en Debug (Depuración) | Open Execute Anonymous Window (Abrir ventana de ejecución anónima).
  2. Copie este código y péguelo en la ventana Introducir código Apex.
    //Declare the groceries list
    List<String> groceries = new List<String>();
      
    //The output for this statement is an empty list, ().
    System.debug('Groceries Value: ' + groceries);
  3. Seleccione la casilla de verificación Abrir registro y haga clic en Ejecutar. Se abre el registro de ejecución, que muestra el resultado de la ejecución del código.
  4. Seleccione la casilla de verificación Solo depurar en la parte inferior de la pantalla.

Cuando ejecutó el código, es posible que observara que el resultado era (). Como no ha agregado nada a la lista, está vacía. Cuando declaró la lista groceries (lista de la compra), creó un espacio vacío preparado para agregar elementos. 

Hueco grande vacío llamado "groceries".

Declarar una lista con un tamaño establecido

Si conocemos el tamaño exacto de la lista, podemos establecerlo cuando declaramos la lista. Lo hacemos incluyendo el tamaño entre corchetes [ ] después del tipo de datos. Sería así: 

String[] groceries = new String[4];

Nota

Nota

Hay varias maneras de declarar listas en Apex. Este ejemplo utiliza la notación de matrices para definir el tamaño de la lista.

Este código declara una lista de cadenas llamada groceries, y establece el tamaño en 4 cadenas. La lista vacía groceries tiene el siguiente aspecto:

Un espacio denominado groceries, dividido en cuatro partes.

La posición secuencial de un elemento es un número llamado índice. El índice es la manera en la que nos referimos a los elementos. Probablemente haya aprendido a contar empezando por el número uno. Sin embargo, en muchos lenguajes de programación, se empieza a contar por el número cero. Por ello, ahora nuestra lista tendrá el siguiente aspecto cuando escribimos el código Apex. 

  1. Azúcar
  2. Miel
  3. Leche

El índice que utiliza para señalar un cierto elemento en la lista será índice 0 para Té, índice 1 para Azúcar, índice 2 para Miel, y así sucesivamente. 

Se hace referencia a un elemento en la lista por su índice (su posición dentro de la lista), como en este ejemplo:

groceries[0];

  1. En Developer Console, haga clic en Debug (Depuración) | Open Execute Anonymous Window (Abrir ventana de ejecución anónima).
  2. Copie este código y péguelo en la ventana Introducir código Apex.
    String[] groceries = new String[4];
    System.debug('Initialized groceries: ' + groceries);
      
    System.debug('Item 0: ' + groceries[0]);
  3. Seleccione la casilla de verificación Abrir registro y haga clic en Ejecutar. Se abre el registro de ejecución, que muestra el resultado de la ejecución del código.
  4. Seleccione la casilla de verificación Solo depurar en la parte inferior de la pantalla.

El valor del primer elemento en la lista es null. Vamos a agregar unos cuantos elementos en la lista.

Iniciar una lista

El proceso de iniciar una lista consiste en asignar valores iniciales a una lista. Existen dos formas de agregar elementos a una lista:

  1. Declarar e iniciar una lista.
    //Sets the first item in the list to 'Tea'
    List<String> groceries = new List<String>{'Tea'}; 
  2. Declarar una lista vacía y agregar valores más adelante.
    List<String> groceries = new List<String>();
    groceries.add('Tea');

Declarar e iniciar una lista

La sintaxis para iniciar una lista con valores es parecida a la de declarar una lista vacía. La diferencia es que, en lugar de utilizar paréntesis ( ( ) ), se utilizan llaves ( { } ) para agregar valores. 

  1. En Developer Console, haga clic en Depuración | Abrir ventana de ejecución anónima.
  2. Copie este código y péguelo en la ventana Introducir código Apex.
    //Declare the groceries list
    List<String> groceries = new List<String>{'Tea','Sugar','Honey','Milk'};
      
    //The output for this statement is Tea, Sugar, Honey, Milk
    System.debug('Groceries: ' + groceries);
  3. Seleccione la casilla de verificación Abrir registro y haga clic en Ejecutar. Se abre el registro de ejecución, que muestra el resultado de la ejecución del código.
  4. Seleccione la casilla de verificación Solo depurar en la parte inferior de la pantalla.

Declarar una lista vacía y agregar valores más adelante

Pero, ¿qué ocurre si quiere agregar elementos más tarde? Apex proporciona métodos que le permiten trabajar con listas. Utilicemos el método add para agregar alimentos a la lista de la compra.

  1. En Developer Console, haga clic en Debug (Depuración) | Open Execute Anonymous Window (Abrir ventana de ejecución anónima).
  2. Copie este código y péguelo en la ventana Introducir código Apex.
    //Create the groceries list
    List<String> groceries = new List<String>();
      
    //The output for this statement is null
    System.debug('Groceries: ' + groceries);
      
    //Use the add method to add an element to the list
    groceries.add('Tea');
    groceries.add('Sugar');
    groceries.add('Honey');
    groceries.add(2, 'Milk');
      
    //The output for this statement is Tea, Sugar, Milk, Honey
    System.debug('Groceries: ' + groceries);
  3. Seleccione la casilla de verificación Abrir registro y haga clic en Ejecutar. Se abre el registro de ejecución, que muestra el resultado de la ejecución del código.
  4. Seleccione la casilla de verificación Solo depurar en la parte inferior de la pantalla.

Un espacio llamado groceries, dividido a su vez en cuatro partes, con un ingrediente en cada parte: Té, azúcar, leche y miel.

¿Ha observado el punto (“.”) entre groceries y add? Apex utiliza la notación de puntos. La notación de puntos tiene varios usos. En la línea 8, conectamos el método add (lo que proporciona Apex) con la lista groceries con un punto para agregar un elemento (Té) a la lista.

En la línea 11 se puede observar otra manera de agregar un elemento a la lista: insertar el elemento en un índice (posición) específico: 

groceries.add(2, ‘Milk’);

A medida que continúe el trabajo con el código Apex, aprenderá a determinar qué método utilizar. Pero los aspectos básicos que aprenda en esta unidad pueden ayudarle a comenzar. 

Listas de desmitificación

Las diferentes formas de agregar elementos a una lista producen resultados ligeramente distintos; a veces, son resultados no esperados. Pruebe a hacer este ejercicio.

  1. En Developer Console, haga clic en Depuración | Abrir ventana de ejecución anónima.
  2. Copie este código y péguelo en la ventana Introducir código Apex.
    String[] groceries = new String[4];
    System.debug('Groceries: ' + groceries);
      
    groceries.add('Tea');
    groceries.add('Sugar');
    System.debug('Added 2 items: ' + groceries);
      
    groceries.add(1, 'Honey');
    System.debug('Added Honey in index 1: ' + groceries);
      
    System.debug('Item 0: ' + groceries[0]);
  3. Seleccione la casilla de verificación Abrir registro y haga clic en Ejecutar. Se abre el registro de ejecución, que muestra el resultado de la ejecución del código.
  4. Seleccione la casilla de verificación Solo depurar en la parte inferior de la pantalla.

Los resultados son interesantes:

cuatro eventos de registros de depuración. En la línea 2 tenemos Initialized groceries: (null, null, null, null). En la línea 6 tenemos Added 2 items: (null, null, null, null, Tea, Sugar). En la línea 9 tenemos: Added Honey in index 1: (null, Honey, null, null, null, Tea, Sugar). En la línea 11 tenemos: Item 0: null.

Cuando agregamos las dos cadenas en las líneas 4 y 5, no especificamos un índice, por lo que Té y Azúcar se agregaron al final de la lista, aumentando el tamaño de la lista, que pasó de 4 cadenas a 6. En la línea 8, especificamos explícitamente el índice 1 para Miel, así que ¿por qué Miel no es el primer elemento de la lista? Recuerde que, en programación, empezamos a contar desde 0, no desde 1. En la línea 11, el primer índice en la lista es 0, que contiene un valor null

Escribir código es un proceso parecido al de resolver problemas de matemáticas. Tiene una ecuación, pero hay muchas maneras de hallar el resultado. En esta unidad, ha aprendido que hay más de una manera de trabajar con listas en Apex. En el caso de que quiera declarar una lista, iniciarla o referirse a un valor específico en la lista, usted decide la manera de hacerlo. ¿Tiene demasiadas opciones? No se preocupe. Cuando esté más familiarizado con Apex, pruebe cosas distintas, y empezará a entender cuáles son los mejores métodos para llevar a cabo en cada circunstancia.

Recursos

Comparta sus comentarios sobre Trailhead en la Ayuda de Salesforce.

Nos encantaría conocer su experiencia con Trailhead. Ahora puede acceder al nuevo formulario de comentarios cuando quiera desde el sitio de la Ayuda de Salesforce.

Más información Continuar para compartir comentarios