Como acessar os elementos de um array em Java (unidimensional)

Como acessar os elementos de um array em Java

Vimos na lição anterior como declarar e criar arrays unidimensionais em Java. Vamos falar agora sobre como atribuir valores e acessar os elementos armazenados em um array, usando técnicas variadas.

Os elementos em um array são sempre acessados por meio de seu número de índice (que é a posição do elemento). Esse índice sempre se inicia em zero, e termina em tamanhoArray - 1.

Por exemplo, um array de dez posições tem a sua primeira posição com índice zero e sua última posição com 10 -1 = índice 9. Portanto, se trata de um array cujas posições vão de 0 a 9.

Acessando e alterar posições individuais em um array (vetor)

Podemos acessar um elemento individual em um array simplesmente indicando o número de índice da posição desejada (entre colchetes), junto ao nome do array em si. Veja o exemplo:

// Criar o array e atribuir-lhe valores a partir de uma lista de inicialização:
double[] valores = { 4.5, 5.9, 4.1, 2.0, 8.9, 6.3, 7.8, 5.3, 1.2, 0.8 };
// Acessando seu quinto elemento (número de posição 4)
System.out.println("Elemento 5 do array: " + valores[4]);

Resultado:

Acesso direto a arrays em Java

O mesmo vale para a atribuição de valores ao array. Por exemplo, vamos modificar os valores das posições de índices 4 e 6 para 2.3 e 7.1, respectivamente:

valores[4] = 2.3;
valores[6] = 7.1;

E então acessamos os elementos para verificar as mudanças realizadas:

// Acessando os elementos alterados:
System.out.println("Valor alterado para: " + valores[4]);
System.out.println("Valor alterado para: " + valores[6]);

A seguir temos o código completo usado nos exemplos anteriores para leitura e escrita de valores em um array:

// Criar o array e atribuir-lhe valores a partir de uma lista de inicialização:
double[] valores = { 4.5, 5.9, 4.1, 2.0, 8.9, 6.3, 7.8, 5.3, 1.2, 0.8 };
// Acessando seu quinto elemento (número de posição 4)
System.out.println("Elemento 5 do array: " + valores[4]);
// Alterando os valores de duas posições no array:
valores[4] = 2.3;
valores[6] = 7.1;
// Acessando os elementos alterados:
System.out.println("Valor alterado para: " + valores[4]);
System.out.println("Valor alterado para: " + valores[6]);

Ler e escrever em um vetor em Java

Acessando todas as posições de uma vez via laço for

Podemos acessar todas as posições de um array usando um simples laço for e a propriedade length do array, como segue:

for (int i = 0; i < nomeArray.length; i++) {
  Código a executar para cada elemento
}

Exemplo: Vamos criar um array de números double e acessar seus elementos usando um laço for.

// Criar array e atribuir-lhe valores a partir de uma lista de inicialização:
double[] valores = { 4.5, 5.9, 4.1, 2.0, 8.9, 6.3, 7.8, 5.3, 1.2, 0.8 };

// Mostrar todos os elementos do array:
for (int i = 0; i < valores.length; i++) {
   System.out.println("Elemento " + i + " = " + valores[i]);
}

Resultado:Acessando elementos de um array em java usando laço for

 

Acessando todas as posições do array usando laço foreach

Vamos mostrar todos os elementos do array valores usando um laço foreach (for enhanced em Java):

public static void main(String[ ] args) {
   double[] valores = { 4.5, 5.9, 4.1, 2.0, 8.9, 6.3, 7.8, 5.3, 1.2, 0.8 };
   // Mostrar todos os elementos do array:
   for (double elemento: valores) {
      System.out.println(elemento);
   }
}

Usamos neste exemplo uma declaração for enhanced, a qual itera pelos elementos de um array sem usar um contador.

Observação: Cuidado ao usar um laço foreach para iterar pelos elementos de um array em Java. Essa técnica não é apropriada quando queremos modificar o array, além de não manter registro do número de índice que está sendo acessado.

Anterior: Como criar arrays em Java

 

Sobre Fábio dos Reis (1237 Artigos)
Fábio dos Reis trabalha com tecnologias variadas há mais de 25 anos, tendo atuado nos campos de Eletrônica, Telecomunicações, Programação de Computadores e Redes de Dados. É um entusiasta de Unix, Linux e Open Source em geral, adora Eletrônica e Música, e estuda idiomas, além de ministrar cursos e palestras sobre diversas tecnologias em São Paulo e outras cidades do Brasil.
Contato: Website

Escreva um comentário

Seu e-mail não será divulgado


*