terça-feira, 3 de junho de 2014

Array (Vetor)

Em Java, os Arrays são objetos que armazenam múltiplas variáveis do mesmo tipo, ou variáveis que são todas subclasses do mesmo tipo. É comum ouvirmos "array de objetos". Porém quando criamos um array de alguma classe, ele possui referências. O objeto, como sempre, está na memória principal e, no seu array, só ficam guardadas as referências (endereços). Os arrays podem armazenar ou primitivos ou referências a objetos, mas o próprio array será sempre um objeto no heap (falarei mais sobre o heap, em breve), mesmo se o array declarado para armazenar elementos primitivos. Em outras palavras, não existe um array primitivo, mas você pode criar um array de primitivos.

Como os Arrays são declarados? 
Informando-se o tipo de elementos que o array irá armazenar (um objeto ou primitivo), seguido por colchetes em um dos lados do identificador. Lembrando que uma array de tipos primitivos guarda valores, uma array de objetos guarda referências.
Exemplo:

int[] testes;

int[] é um tipo. E como um array é sempre um objeto, a variável testes é uma referência. Vamos precisar criar um objeto para poder usar o array.
Exemplo:

testes = new int[10];

E você pode (deve) fazer isso diretamente assim:

int[] testes = new int[10];

Pra não esquecer:
Ao declarar uma referencia ao array, você deve sempre colocar os colchetes do array imediatamente depois do tipo declarado, em vez de depois do identificador (nome da variavel). Dessa forma, qualquer um que leia o código saberá facilmente que, por exemplo, testes é uma referência a um objeto de array int, e não um tipo primitivo int.

Criamos um array de int de 10 elementos e atribuímos o endereço no qual ele foi criado.
Podemos ainda acessar os elementos do array:
Exemplo:

testes[5]= 8;

O código acima altera o quinto elemento do array, como pode ver na ilustração abaixo.
| | | | |8| | | | | |

Cada item em um array é chamado de elemento, e cada elemento é acessado pela posição numérica. Como na ilustração abaixo as posições são numeradas a partir do 0 (zero). O 5º elemento, por exemplo, é acessado na posição 4.
|0|1|2|3|4|5|6|7|8|9| -> Posições
 | | | | | | | | | |
 1 2 3 4 5 6 7 8 9 10 -> Elementos

Lembrando que na declaração de um array, cada elemento recebe um valor padrão, sendo 0 (zero) para números de tipo primitivo, falso (false) para elementos booleanos e nulo (null) para referências.

Arrays multidimensionais
Pois é, ainda não acabou! Um array pode ter mais de uma dimensão. Isto é, em vez de termos um array de 10 testes, podemos ter um array de 10 por 10 testes e você pode acessar o teste na posição da coluna x e linha y. Na verdade, um array bidimensional em Java é uma array de arrays. Parece confuso mas é simples, a ilustração deixa bem claro.
Exemplo:
Não vou entrar muito a fundo nessas dimensões, mas vocês podem pesquisar mais a respeito se desejarem. Enfim em Java é fundamental entender o funcionamento de um Array e saber como utilizá-lo. Como podem ver não é tão difícil e é bem útil guardar objetos e valores em um array.

Pra não esquecer:

tipo[] nome_do_array = new tipo[numero_de_elementos];
Ou:
tipo[] nome_do_array = { valor1, valor2, ...,valorx};


Melissa Lobo,

Nenhum comentário:

Postar um comentário