Técnicas de Inicialização de Arrays em Java

JavaBeginner
Pratique Agora

Introdução

Neste laboratório, você aprenderá as diferentes maneiras de inicializar um array em Java. Você também aprenderá como usar a classe Scanner para receber entrada do usuário, como usar loops aninhados para inicializar um array 2D, como inicializar um array no momento da declaração e como usar diferentes métodos como Arrays.fill(), Arrays.setAll() e ArrayUtils.clone().

Declarando e Inicializando Arrays

Antes de inicializar um array, devemos saber como declarar um array. Declarar significa definir o nome da variável e o tipo de dados dos elementos que serão armazenados no array. A sintaxe geral para declarar um array é mostrada no código abaixo.

datatype[] variableName;

Inicializar um array é definir um valor inicial para os elementos do array. Podemos inicializar um array usando as diferentes maneiras explicadas abaixo.

Inicializando Todos os Elementos do Array com Zero

Para inicializar um array com todos os elementos definidos como 0, só precisamos declarar o array e inicializá-lo com o tamanho necessário usando a palavra-chave new. Java inicializa todos os elementos do array com seus valores padrão (0 para inteiro, null para string, false para booleano, etc.) por padrão.

int[] intArray = new int[5];

Inicializando Elementos do Array um de Cada Vez

Para inicializar cada elemento de um array individualmente, podemos usar um loop for para inicializar os índices do array.

int[] intArray = new int[5];
for(int i = 0; i < intArray.length; i++) {
    intArray[i] = i + 1;
}

Inicializando um Array no Momento da Declaração

Podemos declarar um array e inicializá-lo ao mesmo tempo com apenas uma linha de código.

int[] intArray = {1, 2, 3, 4, 5};

Usando a Classe Scanner para Obter Entrada do Usuário

Para inicializar um array com entrada do usuário, podemos usar a classe Scanner para ler a entrada do usuário.

Scanner input = new Scanner(System.in);
System.out.print("Enter array length: ");
int length = input.nextInt();

int[] intArray = new int[length];
for(int i = 0; i < length; i++) {
    System.out.print("Enter element " + (i + 1) + ": ");
    intArray[i] = input.nextInt();
}
input.close();

Inicializando um Array 2D

Podemos usar loops aninhados para inicializar um array 2D.

int[][] intArray = new int[3][3];
for(int i = 0; i < intArray.length; i++) {
    for(int j = 0; j < intArray[i].length; j++) {
        intArray[i][j] = i + j;
    }
}

Usando o Método Arrays.fill()

Podemos usar o método Arrays.fill() para inicializar um array com um valor específico.

int[] intArray = new int[5];
Arrays.fill(intArray, 5);

Usando o Método Arrays.setAll()

Podemos usar o método Arrays.setAll() para inicializar o array com a ajuda de uma Função Geradora (Generator Function).

int[] intArray = new int[5];
Arrays.setAll(intArray, (index) -> index * index);

Usando o Método ArrayUtils.clone()

Podemos usar o método ArrayUtils.clone() para criar uma cópia de um array existente.

int[] intArray = new int[] {1, 2, 3, 4, 5};
int[] copyArray = ArrayUtils.clone(intArray);

Usando o Método Arrays.copyOf()

Podemos usar o método Arrays.copyOf() para criar uma cópia de um array existente.

int[] intArray = new int[] {1, 2, 3, 4, 5};
int[] copyArray = Arrays.copyOf(intArray, 8);

Resumo

Neste laboratório, você aprendeu diferentes maneiras de inicializar um array em Java usando laços for, declarando e inicializando ao mesmo tempo, usando a classe Scanner para entrada do usuário, inicialização na declaração, usando os métodos Arrays.fill() e Arrays.setAll(), e copiando um array usando os métodos ArrayUtils.clone() e Arrays.copyOf(). Agora você é capaz de inicializar um array de várias maneiras, dependendo das necessidades do seu programa.