Inicializar todos os elementos do array para zero em Java
- Inicializar elementos do array para zero em Java
-
Inicialize os elementos do array para zero usando o método
fill()
em Java -
Inicialize os elementos do array para zero usando o método
nCopies()
em Java - Inicializar elementos do array para zero por reatribuição em Java
-
Inicialize os elementos do array para zero usando o loop
for
em Java
Este tutorial apresenta programas sobre como inicializar todos os elementos do array para zero em Java. Você encontrará exemplos de códigos úteis para guiá-lo neste processo.
Em Java, array contém um tipo semelhante de dados. Este objeto é inicializado em tempo de execução pelo compilador; seu valor depende do tipo de array - isso significa que um array inteiro será inicializado em 0 e o array string será nulo. Neste exemplo, inicializaremos os elementos do array para zero usando métodos como fill()
e nCopies()
, e também alguns códigos personalizados.
Inicializar elementos do array para zero em Java
Por padrão em Java, tipos de dados como arrays int, short, byte e long são inicializados com 0. Portanto, se você criar um novo array desses tipos, não precisa inicializá-los com zero porque já é sua configuração padrão . No exemplo abaixo, criamos dois arrays com os tipos int
e byte
e vemos que seu valor padrão é zero.
public class SimpleTesting {
public static void main(String[] args) {
int arr[] = new int[2];
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
byte barr[] = new byte[2];
for (int i = 0; i < barr.length; i++) {
System.out.println(barr[i]);
}
}
}
Resultado:
0
0
0
0
Inicialize os elementos do array para zero usando o método fill()
em Java
Se um array já possui elementos e você deseja inicializá-lo com 0, você deve usar o método fill()
da classe Arrays
que preenche o valor especificado para o array. Veja o exemplo abaixo:
import java.util.Arrays;
public class SimpleTesting {
public static void main(String[] args) {
int arr[] = new int[] {12, 23, 45, 58};
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
System.out.println("Array after initialize to zero");
Arrays.fill(arr, 0);
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
}
}
Resultado:
12 23 45 58 Array after initialize to zero 0 0 0 0
Inicialize os elementos do array para zero usando o método nCopies()
em Java
Aqui, usamos o método nCopies()
da classe Collections
que cria uma cópia do array, e o método toArray()
converte os elementos em um array inteiro. Veja o exemplo abaixo:
import java.util.Collections;
public class SimpleTesting {
public static void main(String[] args) {
int arr[] = new int[] {12, 23, 45, 58};
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
System.out.println("Array after initialize to zero");
Integer[] arr2 = Collections.nCopies(arr.length, 0).toArray(new Integer[0]);
for (int i = 0; i < arr2.length; i++) {
System.out.println(arr2[i]);
}
}
}
Resultado:
12
23
45
58
Array after initialize to zero
0
0
0
0
Inicializar elementos do array para zero por reatribuição em Java
Este método é uma nova solução complicada onde criamos um novo array com o mesmo tamanho e tipo e então atribuímos sua referência ao array original que faz o reset do array original. Como resultado, todos os elementos são inicializados em 0. Aqui está um exemplo:
public class SimpleTesting {
public static void main(String[] args) {
int arr[] = new int[] {12, 23, 45, 58};
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
int[] arr2 = new int[4];
arr = arr2;
System.out.println("Array after initialize to zero");
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
}
}
Resultado:
12
23
45
58
Array after initialize to zero
0
0
0
0
Inicialize os elementos do array para zero usando o loop for
em Java
Este processo é uma das abordagens mais antigas e menos recomendadas, em que usamos um loop for
. Em cada iteração, atribuímos 0 a cada índice do array que faz com que todos os elementos do array sejam inicializados com 0. Verifique este bloco de código como exemplo:
public class SimpleTesting {
public static void main(String[] args) {
int arr[] = new int[] {12, 23, 45, 58};
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
System.out.println("Array after initialize to zero");
for (int i = 0; i < arr.length; i++) {
arr[i] = 0;
}
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
}
}
Resultado:
12
23
45
58
Array after initialize to zero
0
0
0
0