Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Remover um elemento de um Array

Olá,

Gostaria de saber como faço para remover um elemento de uma coleção utilizando o foreach, já tentei com o exemplo abaixo e não é permitido, caso possível como posso fazer ?

Ex:

''' for(String nome : nomes) { if ( nome == "João" ) { nomes.remove(nome); } }

3 respostas
solução!

Renato .

então o foreach é um comando muito bom para fazer percorrer toda a lista , de maneira mais eficiente . permitindo imprimir todo conteudo , porém para fazer alguma modificação da lista não é possivel .

neste caso é necessário utilizar o for normal , assim você consegue percorrer e fazer a modificação necessária .

tente modificar para o seguinte trecho :

for(int i=0; int < nomes.length; i++) {
    if(nome[i] == "João") 
        nomes.remove(nome)
}

espero ter ajudado, bons estudos

Obrigado Celso.

Renato.

Sei que esse post já está um pouco antigo, mas tenho outro exemplo para o que perguntou. Você poderia usar um Iterator para remover o item que deseja:

import java.util.ArrayList;
import java.util.Iterator;

public class TestaRemoverItemList {
    public static void main(String... args){

        ArrayList<String> nomes = new ArrayList<String>();

        nomes.add("Joao");
        nomes.add("Maria");
        nomes.add("Jose");
        nomes.add("Mario");

        Iterator i = nomes.iterator();

        //remove jose
        while(i.hasNext()){
            String nome = (String)i.next();
            if("Jose".equals(nome)) {
                i.remove();
            }
        }
        // lista os itens depois da remocao.
        for(String nome : nomes){
            System.out.println(nome);
        }
    }
}

Abraços!