Fundamentos de la utilización de conjuntos

Flash Player 9 y posterior, Adobe AIR 1.0 y posterior

Al programar es frecuente tener que trabajar con un conjunto de elementos en lugar de con un solo objeto. Por ejemplo, una aplicación de reproductor de música puede tener una lista de canciones esperando para ser reproducidas. No tiene sentido crear una variable independiente para cada canción de la lista. Es preferible agrupar todos los objetos Song y trabajar con ellos como un grupo.

Un conjunto es un elemento de programación que actúa como un contenedor para un grupo de elementos, como una lista de canciones. Normalmente todos los elementos de un conjunto son instancias de la misma clase, pero esto no es un requisito en ActionScript. Los elementos individuales de un conjunto se denominan elementos del conjunto. Un conjunto es como un cajón de archivador para variables. Se pueden añadir variables al conjunto como elementos (es como colocar una carpeta en el cajón del archivador). Se puede trabajar con el conjunto como una sola variable (es como llevar todo el cajón a un lugar distinto). Se puede trabajar con las variables como un grupo (es como recorrer las carpetas una a una buscando información). También se puede acceder a ellas de forma individual (es como abrir el cajón y seleccionar una sola carpeta).

Por ejemplo, suponga que está creando una aplicación de reproductor de música en la que un usuario puede seleccionar varias canciones y añadirlas a la lista de reproducción. Se puede crear en el código ActionScript un método denominado addSongsToPlaylist() que acepte un solo conjunto como parámetro. Independientemente del número de canciones que se añada a la lista (unas pocas, muchas o solo una), basta con llamar al método addSongsToPlaylist() una vez para transferirle el conjunto que contiene los objetos Song. Se puede utilizar un bucle en el método addSongsToPlaylist() para recorrer los elementos del conjunto (las canciones) de uno en uno y añadirlos a la lista de reproducción.

El tipo más común de conjunto de ActionScript es un conjunto indexado . En un conjunto indexado, cada elemento se almacena en una posición numerada (que recibe el nombre de índice ). Para acceder a los elementos, se utiliza el número, como en una dirección. Los conjuntos indexados son suficiente para la mayoría de las necesidades de programación. La clase Array es una de las clases habituales utilizadas para representar un conjunto indexado.

A menudo, se utiliza un conjunto indexado para guardar varios elementos del mismo tipo (objetos que son instancias de la misma clase). La clase Array no tiene capacidad para restringir el tipo de elementos que contiene. La clase Vector es un tipo de conjunto indexado en el que todos los elementos de un conjunto simple son del mismo tipo. Al utilizar una instancia de Vector en lugar de una instancia de Array, también se consiguen mejoras de rendimiento y otras ventajas. la clase Vector está disponible a partir de Flash Player 10 y Adobe AIR 1.5.

Un uso especial de un conjunto indexado es un conjunto multidimensional . Un conjunto multidimensional es un conjunto indexado cuyos elementos son conjuntos indexados (que, a su vez, contienen otros elementos).

Otro tipo de conjunto es el conjunto asociativo , que utiliza una clave de tipo String en lugar de un índice numérico para identificar elementos individuales. Por último, ActionScript 3.0 también contiene la clase Dictionary, que representa un diccionario . Un diccionario es un conjunto que permite utilizar cualquier tipo de objeto como clave para distinguir entre elementos.

Conceptos y términos importantes

La siguiente lista de referencia contiene términos importantes que aparecerán al programar rutinas de administración de vectores y conjuntos:

Array
Objeto que se utiliza como contenedor para agrupar varios objetos.

Operador de acceso a conjunto ([])
Par de corchetes que rodean un índice o una clave que identifica de forma exclusiva a un elemento de conjunto. Esta sintaxis se utiliza después de un nombre de variable de conjunto para especificar un solo elemento del conjunto, no el conjunto completo.

Conjunto asociativo
Conjunto que utiliza claves de tipo cadena para identificar elementos individuales.

Tipo base
Tipo de datos que puede almacenar una instancia de Vector.

Diccionario
Conjunto cuyos elementos constan de un par de objetos, denominados clave y valor. Se utiliza la clave en lugar de un índice numérico para identificar un elemento individual.

Elemento
Elemento individual de un conjunto.

Índice
"Dirección" numérica que se utiliza para identificar un elemento individual de un conjunto indexado.

Conjunto indexado
Tipo estándar de conjunto que almacena cada elemento en una posición numerada y utiliza el número (índice) para identificar elementos individuales.

Tecla
Cadena u objeto que se utiliza para identificar un elemento individual en un conjunto asociativo o un diccionario.

Conjunto multidimensional
Conjunto que contiene elementos que son conjuntos en lugar de valores individuales.

T
Convención estándar que se utiliza en esta documentación para representar el tipo base de una instancia de Vector, independientemente del tipo base. La convención T se utiliza para representar un nombre de clase, tal como se indica en la descripción del parámetro Type. (“T” viene de “tipo”, como en “tipo de datos”.)

Parámetro Type
Sintaxis que se utiliza en el nombre de la clase Vector para especificar el tipo base del vector (tipo de datos de los objetos que almacena). La sintaxis está formada por un punto ( . ) seguido del nombre del tipo de datos encerrado entre paréntesis angulares ( <> ). Todo junto, presenta el siguiente aspecto: Vector.<T> . En esta documentación, la clase especificada en el parámetro Type se representa genéricamente como T .

Vector
Tipo de conjunto cuyos elementos son todos instancias del mismo tipo de datos.