Salut à tous,
J'essaye d'implémenter une liste chainé en Java. Voici mon algorithme que j'essaye de faire.
J'ai une liste TempList qui contient des éléments de type "Node". Avant de rajouter une Nouveau type Node, je souhaite vérifier s'il n'existe pas dans ma liste. S'il n'existe pas, je l'ajoute, sinon je récupère l'index du noeud déjà présent.
J'utilise pour ca les List Iterator de Java. Sauf que j'obtiens l'erreur " ConcurrentModificationException". Je n'ai pas le droit d'itérer sur une liste (i.e. utiliser aListIter.next()) alors que je suis entrain d'ajouter des éléments à ma liste. ( aList.add(aNode)).
Quelqu'un aurait un exemple d'un tel algorithme qui pourrai m'aider. Je vous ai joint un bout de mon code , si ca peu aider.
Merci,
Somz.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 Node checkNode=null; List <Node> aList = new LinkedList<Node>(); ListIterator <Node> aListIter = aList.listIterator(); // iter is an iterator on TempList if (aList.isEmpty()){ aList.add(aNewNode); } else if (aList.isEmpty()== false){ aListIter = aList.listIterator(); checkNode=aListIter.next(); while(aListIter.hasNext()){ sameZvector=verifysameconfig(checkNode,aNewNode); if (sameZvector){//same Z vector //. } else{ // same Z vector not found --> creat the node aList.add(aNewNode); } } }
Partager