Witam, mam pewien problem, a mianowicie chce zrobić taki jakby "filtr". Mamy dwie Tablice jedna jest updatowana(zmieniana wartość) przez osobny wątek i jeżeli jest inna od drugiej tablicy porównawczej to tablica porównawcza jest równa tej głównej i już się nie wykonuje to co się ma wykonywać. Ale gdy znowu zmienimy wartość tablicy głównej to od początku.
Ja próbowałem zrobić to tak:
if (socketContainer.equals(fakeSocketContainer)) {
porownanie = true;
}
else {
porownanie = false;
System.out.println("false|");
}
if(!porownanie){
TestowaKlasa.this.server.writeToAll(socketContainer.toString());
fakeSocketContainer = socketContainer;
}
Ale nie działa, domyślam się że dlatego bo fakeSocketContainer pozostaje tak jakby socketContainer i przy updacie informacji on też się updatuje.
Próbowałem też że fakeSocketContainer jest Stringiem ("co zadziałało"), i przypisujemy mu wartość socketContainer.toString(); ale po 3-4 powtórzeniu wykonaniu wywala error w konsoli:
Exception in thread "Thread-8" java.util.ConcurrentModificationException
** at java.util.ArrayList$Itr.checkForComodification(Unknown Source)**
** at java.util.ArrayList$Itr.next(Unknown Source)**
** at java.util.AbstractCollection.toString(Unknown Source)**