Arrays

Os arrays em Java são objetos que armazenam múltiplos valores do mesmo tipo numa única variável.

Características dos arrays em Java

  • Tamanho Fixo: Uma vez que um array é criado, o seu tamanho é fixo e não pode ser alterado.
  • Acesso Indexado: Os elementos de um array podem ser acedidos ​​usando um índice, começando no 0 para o primeiro elemento.
  • Dados Homogéneos: Todos os elementos de um array devem ser do mesmo tipo (por exemplo, int, String, boolean, etc).

Declaração de um array

Os arrays são declarados como qualquer variável, indicando o seu tipo de dados seguido de parênteses rectos e o nome do array, ou o seu tipo de dados seguido do nome do array e parenteses rectos:

int [] idades;

ou

int idades[];

Inicialização de um array

Quando declaramos um array podemos, de imediato, inicializa-lo, isto é, preenche-lo com
valores:
int[] lista = {10, 12, 33, 23, 56, 67, 89, 12};
Quando declaramos e inicializamos de imediato um array não necessitamos de explicitar o seu
tamanho uma vez que o compilador depreende esse valor pelo número de elementos com o
inicializámos.


Para construir um array, não inicializado, na declaração, fazemo-lo com a palavra
reservada new.:


int [] idades = new int[20];


a palavra-reservada new constrói o array.

Aceder aos elementos de um array

Acedemos a um elemento de um array através do seu índice. Os índices de um arrays começam
no zero e vão ao número de elementos do array – 1.

Exemplo:

int [] numeros = new int[20]; 
 
//colocamos valores em alguns elementos do array 
numeros[2] = 7; 
numeros[6] = 46; 
numeros[12] = 34; 
 
//obtemos o valor de um elemento do array: 
int num = numeros[6]; 

NOTA: se tentarmos aceder a um elemento de um array para além dos seus limites, é
levantada uma excepção ArrayIndexOutOfBoundsException.

Tamanho de um array

Podemos obter o tamanho, ou seja o numero de elementos, de um array, em tempo de
execução, através da propriedade length do array:

String [] nomes = {"Pedro", "Rita", "Joana", "Ricardo", "Maria", "Carlos"}; 
System.out.println(“Tamanho do array: ” + nomes.length); //output 6

Percorrer um array

Para percorrer um array, usamos uma estrutura de repetição, normalmente o ciclo for:

int nums[] = {10, 20, 30, 40, 50, 60}; 
for(int i=0; i < nums.length; i++){ 
   System.out.println(nums[i]); 
} 

Também podemos percorrer o array com um ciclo for-each:

int nums[] = {10, 20, 30, 40, 50, 60}; 
for(int nr: nums )
   System.out.println(nr); 
} 

Arrays bidimensionais

Um array bidimensional é um array dentro de outro array. Cada um dos seus elementos é
identificado por dois índices distintos.
Declaramos arrays bidimensionais da seguinte maneira:

// array inteiro de 512 x 128 elementos 
int [][] twoD = new int[512][128]; 
 
 
// array de String de 4 linhas x 2 colunas 
String [][] dogs = {{"bobby", "castanho"}, 
{"laica", "branco"}, 
{"oscar", "cinzento"}, 
{"bolinha", "preto}}; 

Para acedermos a um elemento de um array bidimensional, usamos dois índices, o primeiro
referencia a linha e o segundo a coluna:

String [][] dogs = 
{
   {"bobby", "castanho"}, 
   {"laica", "branco"}, 
   {"oscar", "cinzento"}, 
   {"bolinha", "preto}
}; 

System.out.println(“Dog: “ + dogs[2][1]); //Output: "cinzento" 

Para percorremos um array bidimensional, podemos usar dois ciclos for encadeados: um, exterior,
percorre as linhas e o outro, interior, percorre as colunas de cada linha:

//for que percorre as linhas 
for (int i = 0; i < dogs.length; i++) { 
 
   //for que percorre as colunas de cada linha 
   for (int j = 0; j < dogs[i].length; j++) { 
      System.out.print(dogs[i][j] + " "); 
   } 
}