Salut,

Envoyé par
lebesnec
La question est donc : existe t'il un type de liste qui supporte le parcourt en parallèle par plusieurs processus ? ou un moyen de parcourir un Arraylist qui ne lèverait pas cette exception ?
Le problème ne vient pas du parcours mais de modification de la liste pendant le parcours...
Cela peut survenir si tu utilises la List dans différents threads, et dans ce cas il faut utiliser une liste synchronisé :
List list = Collections.synchronizedList(new ArrayList());
Attention toutefois car l'utilisation des iterator il faut utiliser un bloc synchronized de la manière suivante :
1 2 3 4 5 6
| synchronized(list) {
Iterator i = list.iterator();
while (i.hasNext()) {
i.next();
}
} |
Le même principe existe pour les autres type de collections, et la classe Collections comporte un grand nombre de méthode utile 

Envoyé par
lebesnec
C'est une des philosophies de Java : l'utilisation de classes immuables...
Une classe immuable est une classe qui ne change jamais de "valeur". Cela permet de simplifier un peu la gestion des objets.
Cela permet d'éviter les constructeurs par copie lorsqu'on passe un objet en paramètre, où la définition de méthode "const" et l'utilisation de référence lorsqu'on passe un objet à une méthode...
a++
Partager