Array Java!

olá galera!! Bom é a primeira vez que estou usando o forum…
Bom criei um array “alunos[]” e usei o metodo “cadastrarAluno(Aluno aluno)” para adicionar a referencia de cada aluno nas posições do array e quero retirar um aluno específico, então criei o metodo “removerAluno()”, a questão é metodo está removendo todas as referencias existentes nas posições do array?? o que posso modificar no metodo ou fazer??

public class Turma{

(outros…)

private Aluno[] alunos = new Aluno[10];

public void cadastrarAlunos(Aluno aluno) {
if (alunos != null){
for (int i = 0; i < alunos.length; i++) {
if (alunos[i] == null){
alunos[i] = aluno;
break;
}
}
}
}

public void removerAluno(Aluno aluno) {
if (alunos != null){
for (int i = 0; i < alunos.length; i++) {
if (alunos[i] == aluno){
alunos[i] = null;
break;
}
}
}
}

}

Na sua classe aluno sobreescreva o método Object.equals(Object o) e use assim

alunos[i].equals(aluno)

acho que seria interessante esta usando uma collection como TreeSet pra não ter que ficar iterando pra achar o objeto ou verificando se o mesmo já existe.

galera obrigadão pelas respostas!!

E ai cara blz?

tenta usar uma lista ou um map cara!
pessoalmente eu prefiro saca? acho mais prático

ArrayList alunos = new ArrayList();

ai vc faz um for para percorrer sua lista:

e faz uma condição!

[code]if (alunoParaExcluir.equalsIgnoreCase(suaLista.get(i)){

removerAluno(alunoParaExcluir);

}[/code]

alguma coisa nessa linha!
não sei apenas uma ideia para te ajudar a pensar!

abraçoo