Vetores []
Arrays e manipulação de índices
Arrays são estruturas de tamanho fixo que armazenam elementos do mesmo tipo em posições contíguas de memória. O acesso por índice é O(1) — extremamente rápido, pois calcula diretamente o endereço de memória. O índice começa em 0, então um array de 5 elementos usa índices de 0 a 4.
Arrays são criados com new Tipo[tamanho] ou com inicialização direta usando chaves. O campo .length retorna o tamanho. Tentar acessar um índice inválido lança ArrayIndexOutOfBoundsException em tempo de execução. Para arrays multidimensionais, usa-se int[][] — uma matriz é basicamente um array de arrays.
A classe utilitária Arrays (java.util.Arrays) oferece: sort() para ordenar, binarySearch() para busca eficiente em arrays ordenados, copyOf() para copiar, fill() para preencher, e toString() para imprimir o conteúdo.
import java.util.Arrays;
// ── Declaração e inicialização ────────────────────
int[] notas = new int[5]; // [0, 0, 0, 0, 0]
notas[0] = 85; notas[1] = 92; notas[2] = 78;
// Inicialização direta
String[] frutas = {"Maçã", "Banana", "Laranja"};
double[] pesos = {1.5, 2.3, 0.8};
// ── Percorrendo ───────────────────────────────────
for (int i = 0; i < frutas.length; i++) {
System.out.println(i + ": " + frutas[i]);
}
// For-each: mais legível quando não precisa do índice
for (String fruta : frutas) System.out.println(fruta);
// ── Utilitários da classe Arrays ─────────────────
Arrays.sort(notas); // ordena in-place
System.out.println(Arrays.toString(notas)); // [0, 0, 78, 85, 92]
int idx = Arrays.binarySearch(notas, 85); // 3 (requer array ordenado)
// ── Matriz 2D ────────────────────────────────────
int[][] matriz = {
{1, 2, 3},
{4, 5, 6},
{7, 8, 9}
};
System.out.println(matriz[1][2]); // 6 (linha 1, coluna 2)
System.out.println(matriz.length); // 3 (linhas)
System.out.println(matriz[0].length); // 3 (colunas)Arrays têm tamanho fixo. Use ArrayList quando precisar de tamanho dinâmico. Use arrays primitivos (int[], double[]) quando performance é crítica — evitam o overhead de boxing/unboxing.