Noções básicas sobre matrizes

Flash Player 9 e posterior, Adobe AIR 1.0 e posterior

Em programação é comum o trabalho com uma série de itens, e não com um único objeto. Por exemplo, talvez você queira ter uma lista de músicas pronta para ser reproduzida em um aplicativo de player de música. Você certamente não optaria por criar uma variável específica para cada música da lista. Seria melhor juntar todos os objetos Song em um pacote e trabalhar com eles como se fossem um grupo.

Uma matriz é um elemento de programação que funciona como contêiner para um conjunto de itens, como uma lista de músicas. De modo geral, todos os itens da matriz são ocorrências da mesma classe, mas isso não é uma exigência no ActionScript. Os itens individuais de uma matriz são conhecidos como elementos da matriz. A matriz pode ser considerada como um arquivador de variáveis. As variáveis podem ser adicionadas como elementos na matriz, como quando você coloca uma pasta em seu arquivador. Você pode trabalhar com a matriz como uma única variável, como carregar todo o seu arquivo para um outro local. Você pode trabalhar com as variáveis como um grupo, como analisar as pastas uma a uma para buscar informações. Você também pode acessá-las individualmente, como se estivesse abrindo o arquivo e selecionando uma única pasta.

Por exemplo, imagine que está criando um aplicativo de player de música no qual o usuário pode selecionar várias músicas e adicioná-las a uma lista de reprodução. No código do ActionScript, há um método chamado addSongsToPlaylist() , que aceita uma única matriz como parâmetro. Independentemente da quantidade de músicas que forem adicionadas à lista (poucas, muitas ou apenas uma), você pode chamar o método addSongsToPlaylist() apenas uma vez, transmitindo a matriz que contém os objetos Song. Dentro do método addSongsToPlaylist() , você pode usar um loop para navegar entre os elementos da matriz (as músicas) uma a uma e adicioná-las à lista de reprodução.

A matriz indexada é o tipo de matriz mais comum do ActionScript. Em uma matriz indexada, cada item é armazenado em um slot numerado (conhecido como índice ). Os itens são acessados por meio de números, como em endereços. As matrizes indexadas atendem a maior parte das exigências de programação. A classe Array é uma das classes mais comuns utilizada para representar uma matriz indexada.

Em geral, uma matriz indexada é usada para armazenar vários itens do mesmo tipo (objetos que são ocorrências da mesma classe). A classe Array não tem meios de restringir o tipo de itens que ela contém. A classe Vector é o tipo de matriz indexada no qual todos os itens de uma única matriz são do mesmo tipo. O uso da ocorrência Vector em vez de Array também pode proporcionar melhorias no desempenho, além de outras vantagens. A classe Vector está disponível a partir do Flash Player 10 e do Adobe AIR 1.5.

A matriz multidimensional representa um caso especial de utilização de matrizes indexadas. Uma matriz multidimensional é uma matriz indexada cujos elementos são matrizes indexadas que, por sua vez, contêm outros elementos.

A matriz associativa é um outro tipo de matriz, que usa uma string key em vez do índice numérico para identificar elementos individuais. Por fim, o ActionScript 3.0 também possui a classe Dictionary, que representa um dicionário . Um dicionário é uma matriz que permite o uso de qualquer tipo de objeto como uma chave de distinção entre elementos.

Conceitos e termos importantes

A lista a seguir de referência contém termos importantes que você vai encontrar ao programar as rotinas de tratamento de matrizes e vetores:

Matriz
Um objeto que serve como contêiner para agrupar vários objetos.

Operador de acesso ([]) à matriz
Um par de colchetes que circundam um índice ou uma chave e identifica exclusivamente um elemento de matriz. Essa sintaxe é usada após um nome de variável de matriz para especificar um único elemento da matriz, em vez de especificá-la inteira.

Matriz associativa
Uma matriz que usa chaves de string para identificar elementos individuais.

Tipo base
O tipo de dados dos objetos que uma ocorrência de Vector pode armazenar.

Dictionary
Matriz cujos itens consistem em pares de objetos, conhecidos como chaves e valores. A chave é usada no lugar de um índice numérico para identificar um único elemento.

Elemento
Um item único de uma matriz.

Índice
O "endereço" numérico usado para identificar um único elemento em uma matriz indexada.

Matriz indexada
O tipo padrão da matriz que armazena cada elemento em uma posição numerada e usa o número (índice) para identificar elementos individuais.

Tecla
A string ou o objeto usado para identificar um único elemento em uma matriz associativa ou em um dicionário.

Matriz multidimensional
Matriz que contém itens que são matrizes, em vez de valores únicos.

T
A convenção padrão usada nesta documentação para representar o tipo base de uma ocorrência de Vector, independentemente do tipo base. A convenção T é usada para representar um nome de classe, conforme exibido na descrição do parâmetro Type. (“T” corresponde a “tipo”, como em “tipo de dados”)..

Parâmetro de tipo
A sintaxe usada com o nome da classe Vector para especificar o tipo base do vetor (o tipo de dados dos objetos que ele armazena). A sintaxe consiste em um ponto ( . ), seguido do nome do tipo de dados entre colchetes angulares ( <> ). Resumindo, teremos algo como: Vector.<T> . Nessa documentação, a classe especificada no parâmetro type é representada genericamente como T .

Vetor
é um tipo de matriz cujos elementos são todos ocorrências do mesmo tipo de dados.