fix ConcurrentModificationExceptions

This commit is contained in:
ajgeiss0702
2020-06-02 17:12:57 -07:00
parent c056f3a008
commit 22c9d36c48
+7 -3
View File
@@ -1,6 +1,7 @@
package us.ajg0702.queue; package us.ajg0702.queue;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Iterator;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
@@ -128,7 +129,9 @@ public class Manager {
for(Server s : servers) { for(Server s : servers) {
int ot = s.getOfflineTime(); int ot = s.getOfflineTime();
List<ProxiedPlayer> plys = s.getQueue(); List<ProxiedPlayer> plys = s.getQueue();
for(ProxiedPlayer ply : plys) { Iterator<ProxiedPlayer> it = plys.iterator();
while(it.hasNext()) {
ProxiedPlayer ply = it.next();
int pos = plys.indexOf(ply)+1; int pos = plys.indexOf(ply)+1;
if(pos == 0) { if(pos == 0) {
plys.remove(ply); plys.remove(ply);
@@ -240,8 +243,9 @@ public class Manager {
* Updates info about servers. * Updates info about servers.
*/ */
public void updateServers() { public void updateServers() {
for(Server s : servers) { Iterator<Server> it = servers.iterator();
s.update(); while(it.hasNext()) {
it.next().update();
} }
} }