Bonjour a tous,
Je seche sur une "ConcurrentModificationException". Elle est généré par un iterateur que j'utilise pour modifier les clées d'un TreeMap (enfin je pense). En effet, mon but est de mettre un joue les clées d'une TreeMap deja crée. donc, je sort les objets et je les remets avec une nouvelle clé :
Voici des explications complémentaires :
Code :
- //Creating semaphores to open the serialized map :
- Map MyMap = rizo.getPers();
- Set entrySet = MyMap.entrySet();
- synchronized(MyMap)
- {
- for(Iterator i = entrySet.iterator();i.hasNext();)
- {
- Map.Entry entry = (Map.Entry) i.next();
- Pers personne = (Pers) MyMap.remove(entry.getKey());
- //checking for init :
- if(!personne.isInitialized())
- throw new RizoException("personne non initialise\n" );
- //put the new couple :
- String name=(String) personne.getName();
- MyMap.put(name, personne);
- }
- }
|
sachant que :
rizo.getPers() correspond a :
Code :
- public Map getPers()
- {
- return Collections.synchronizedMap(new TreeMap(Persoriz));
- }
|
Je coince bien et je suis incapable de trouver la solution la. J'ai parcourut la recherche, idem.
Donc merci a celui qui peut m'aider :-)
encore mieux si quelqu'un connait une méthode pour modifier toutes les clés d'un map...
merci!
edit : j'ajouterais, que ca me jete apres un premier tour, arrivé au 2eme iterator... pouf badaboum. La doc de java dis pourtant que les opérations remove() et add() ne sont pas concernées par le jet de ConcurrentModificationException apres decryptage...
Message édité par Giansolo le 07-05-2004 à 15:35:27
---------------
grmmblblblbl...