Método para remover todos elementos de um array de double

Pessoal,

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;
		}
	}

Steam

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

Só seta o índice pra 0 e boa…
Se você quiser liberar a memória já utilizada, seta pra null q o GC faz o resto.