Bonjour, je n'ai pas trop l'habitude de manipuler des listes en java.
Mon problème intervient avec ce code :
Ce code génère une
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 private List<ConnectedUser> users; ... (dans le constructeur) this.users = new ArrayList<ConnectedUser>(); ... public void removeUser(String userName) { for(ConnectedUser u:users) { if(u.getUsername().equals(userName)) { users.remove(u); } } }
Si j'ai bien compris, c'est parceque quand on itère sur la liste dans le for, on ne peut pas la modifier. Quelle est alors la bonne façon d'enlever un élément de la liste? Ma première idée et de faire une copie de la liste pour itérer, mais ça parait coûteux en temps... Y a-t'il une meilleur solution?
Code : Sélectionner tout - Visualiser dans une fenêtre à part Exception in thread "ServerThread"java.util.ConcurrentModificationException
Partager