Fiz esse método para remover todos elementos de um array, ele realmente remove ou só está atribuindo valor 0 para todos? se sim, como eu poderia fazer para remover todos elementos realmente? obrigado;
public void clear() {
for (int i = 0; i < vetor.length; i++) {
vetor[i] = 0;
}
}
Por padrão o Java inicializa com um valor default cada elemento do array:
short, byte, int, long, float e double = 0;
Objetos = null;
char = Unicode 0;
boolean = false;
Como seu array é de double, logo o valor padrão é 0.0
Ele apenas atribui o valor 0 para todos e como o array é de double não tem como remover os elementos, pois até quando você cria ele, o java já os inicializa.
Você tem algumas alternativas:
Definir o array como null (não acho esta alternativa boa, devido você ter que ficar fazendo if (vetor != null) em varios pontos do seu sistema)
Criar um array do tipo Double (Wrapper), assim como o mesmo é objeto, o valor default é null
Ou setar um valor, que você saiba que é um array “limpo”, por exemplo -1
Outro detalhe, para limpar os valores do seu array você também pode usar assim:
public void clear() {
Arrays.fill(vetor, 0);
} Att