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 
2
3
4
5
6
7
8
9
10
11
12
13
14private 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

 

 
		
		 
         
 

 
			
			

 
   


 Suppression d'éléments dans une liste - ConcurrentModificationException
 Suppression d'éléments dans une liste - ConcurrentModificationException
				 Répondre avec citation
  Répondre avec citation
Partager