Remoção de um elemento de uma lista

5 respostas
L

ai galera estou com uma dúvida…e não consigo implementar esse metodo de remoção de elementos de um ArrayList,acontece o seguinte:
eu tenho um pacote visaõ q está com o cadastroAluno,sendo q quero implementar um método de remoção no qual a classe controle pega o que está digitado no campo NOME,e faça uma busca na lista e compara com esse valor pra ver se são iguais,sendo iguais queria q removesse,então estava implementando dessa seguinte forma:

public void removerAluno(Collection lista){

Iterator<Aluno>iterator = lista.iterator();
	
	while(iterator.hasNext()){
		
			if(lista.contains(nomeField.getText())){
			lista.remove();
			
			exibeMensagem("Aluno removido com sucesso");
			
		}
	

		else  {
			JOptionPane.showMessageDialog(null, "aluno nao encontrado");
				break;
		}

5 Respostas

M

Tente algo assim:

for (Aluno aluno : lista) {
       // Se o nome digitado for igual ao nome da lista remove o aluno
       if (aluno.getNome().equals(nomefield.getText())) {
             lista.remove(aluno);
              break;
        }
}

espero ter ajudado!
:lol:

abelgomes

markinho:
Tente algo assim:

for (Aluno aluno : lista) {
       // Se o nome digitado for igual ao nome da lista remove o aluno
       if (aluno.getNome().equals(nomefield.getText())) {
             lista.remove(aluno);
              break;
        }
}

espero ter ajudado!
:lol:

isso mesmo…pq da maniera que vc estava fazendo, estava pegando uma String e comparando com um obejto Aluno

L

amigo obrigado pela ajuda,mas acabei fazendo de outro modo e deu certo,mas agradeço pela resposta…

abelgomes

entao coloque aqui no topico esse outro modo, para que outras pessoas com o mesmo problema possa usa-lo :wink:

rissato

nesse caso, se vc tentar remover o objeto da lista vc vai receber uma ConcurrentModificationException. Pra poder remover os ítens da lista vc deve usar o for assim:for (int i=0;i<suaLista.size();++i) { ... }

Criado 30 de setembro de 2008
Ultima resposta 1 de out. de 2008
Respostas 5
Participantes 4