modyfikacja listy w javie

0

Witam,
poniższy kod kompiluje się ale wyrzuca wyjątek java.util.ConcurrentModificationException. Czy koś wie dlaczego?

import java.util.ArrayList;
import java.util.List;
import java.util.SortedSet;
import java.util.TreeSet;

public class Final {
	public static void method(List<String> lista){
		for (String a : lista){
            lista.remove(a);
		}		
	}
	public static void main(String [] args) {
	    SortedSet<String> s = new TreeSet<String>();
        for (String a : args)
               s.add(a);
      
       List<String> lista=new ArrayList<String>(s);
       method(lista);
               System.out.println(lista);
    }
	
	}
2
        for (String a : lista){
            lista.remove(a);
        }   

usuwasz elementy listy podczas jej przegladania, zamiast pisac metode zrob clear na arraylist https://docs.oracle.com/javase/7/docs/api/java/util/ArrayList.html#clear()

0

może doprecyzuje pytanie, jak modyfikować listę za pomocą pętli?

2
jarmac napisał(a):

może doprecyzuje pytanie, jak modyfikować listę za pomocą pętli?

Za pomocą iteratora.

0

ok dzęki

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.