Lembro que há um problema em usar o loop for para excluir elementos na lista, mas você pode usar o loop aprimorado para loop. Hoje, descobri que foi relatado um erro ao usá -lo e depois fui popularizar a ciência e depois descobri que esse era um mal -entendido. Vamos falar sobre isso abaixo. . Estenda a mão e pule diretamente até o final do artigo. Veja o resumo. .
Existem três maneiras de fazer listas de travessia em Java, aprimoradas para o loop (ou seja, o comumente conhecido como loop foreach) e travessal de iterador.
1. Para Lista de Traversal de Loop
for (int i = 0; i <list.size (); i ++) {if (list.get (i) .equals ("del")) list.remove (i);}O problema com esse método é que, após a exclusão de um elemento, o tamanho da lista muda e o seu índice muda, o que fará com que você perca certos elementos durante o Traversal. Por exemplo, quando você exclui o primeiro elemento e continua a acessar o segundo elemento de acordo com o índice, porque os elementos após o relacionamento excluído são movidos um a um, o acesso real ao terceiro elemento. Portanto, esse método pode ser usado ao excluir um elemento específico, mas não é adequado ao excluir vários elementos em um loop.
2. Aprimore o loop for
for (string x: list) {if (x.equals ("del")) list.remove (x);}O problema com esse método é que, após a exclusão do elemento, a mensagem de erro será relatada continuando a fazer o loop, porque ocorre a modificação simultânea quando o elemento é usado, resultando em exceção. No entanto, se você usar o intervalo para pular imediatamente após a exclusão, um erro não será acionado.
3. Traversal do iterador
Iterator <string> it = list.iterator (); while (it.hasnext ()) {string x = it.next (); if (x.equals ("del")) {it.remove (); }}Este método pode ser loop e excluído normalmente. Mas deve -se notar que, se você usar o método de remoção do iterador, se você usar o método Remover da lista, também relatará o erro ConcurrentModificationException mencionado acima.
Resumir:
(1) Se você fazer um loop para excluir um elemento específico na lista, poderá usar qualquer um dos três métodos, mas deve prestar atenção aos vários problemas analisados acima ao usá -lo.
(2) Se você fazer um loop para excluir vários elementos na lista, use o método do iterador.
O resumo acima do método acima de excluir elementos nas listas em Java é todo o conteúdo compartilhado pelo editor. Espero que possa lhe dar uma referência e espero que você apoie mais o wulin.com.