Wyjątek ConcurrentModificationException

0

Chcę zrobić metodę SJF z wywłaszczeniem wyskakuje mi jednak błąd.

Exception in thread "main" java.util.ConcurrentModificationException
	at java.util.ArrayList$Itr.checkForComodification(Unknown Source)
	at java.util.ArrayList$Itr.next(Unknown Source)
	at SO1.Procesor.SJFz(Procesor.java:105)
public void SJFz() 
    {
		Iterator<Proces> it1 = oczekujaca.iterator();
		while(it1.hasNext())
		{
			boolean lol = false;
	105		Proces a = it1.next();
			Iterator<Proces> it2 = oczekujaca.iterator();
			it2.next();
			while(it2.hasNext() && lol==false)
			{
				Proces b = it2.next();
				if((a.dlugosc-b.momentZgloszenia)<b.dlugosc)
				{
					a.dlugosc=a.dlugosc-b.momentZgloszenia;
					if(a.dlugosc<=0)
						{
							rr.add(a);
							a = it1.next();
						}
				}
				else
				{
					a.dlugosc=a.dlugosc-b.momentZgloszenia;
					oczekujaca.add(a);
					lol=true;
				}
			}
		 }
	}
1

Jednocześnie iterujesz i dodajesz do tej samej listy. To powoduje ten wyjątek. Zmień kod tak, żeby nie zmieniał długości listy w trakcie iterowania po niej.

1 użytkowników online, w tym zalogowanych: 0, gości: 1