Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

  1. #1
    Membre habitué
    Exception ConcurrentModificationException Java
    Bonsoir j'ai l'erreur :
    Exception in thread "main" java.util.ConcurrentModificationException

    sur le code suivant :
    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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
      l0=new LivreC3();
            l0.setReference(100);
            l0.setDesignation("2");
            l0.setPrix(20.54);
            l0.setIsbn("1245879215");
            l0.setNbPages(254);
            l0.setAuteur(p1=new PersonneC("Zone3","Eric3",LocalDate.of(1983, 12,11)));
          if(PersList.size()> 0)
            {
           	    Iterator<PersonneC> itP;
                itP=PersList.iterator();
                while (itP.hasNext())
                  {
                	int i;
                    i=0;           
               	   if(!itP.next().equals(p1))
               	   {
               		 PersList.add(p1);
               	   }
                 	 else
               	   {
                      p1.getoeuvresList().addAll(PersList.get(i).getoeuvresList());
                      if (i<PersList.size())
                      {
                        	i++;
                     }
                   }
                }
            }
            l=new LivreC3();
            l.setReference(001);
            l.setDesignation("3");
            l.setPrix(20.54);
            l.setIsbn("1245879215");
            l.setNbPages(254);
            l.setAuteur(p2=new PersonneC("Zone4","Eric3",LocalDate.of(1983, 12,11)));       
            if(PersList.size()> 0)
            {
           	    Iterator<PersonneC> itP;
                itP=PersList.iterator();
                while (itP.hasNext())
                  {
                	int i;
                    i=0;          		            	         
               	   if(!itP.next().equals(p2)) // L'erreur est ici 
               	   {
               		 PersList.add(p2);
               	   }
                 	 else
               	   {
                      p2.getoeuvresList().addAll(PersList.get(i).getoeuvresList());
                      if (i<PersList.size())
                      {
                        	i++;
                    }
                   }
                }
            }


    D'après ce que j'ai compris sur le net ce serait parce que j'utilise deux itérateurs "itP" ou plutôt un itérateur le même "itP" deux fois sur la liste "PersList"
    Si quelqu'un a une idée merci

  2. #2
    Rédacteur/Modérateur

    Non c'est parce que tu essaies de rajouter un élément dans ta liste durant l’itération ce qui est interdit.
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

  3. #3
    Membre habitué
    Citation Envoyé par bouye Voir le message
    Non c'est parce que tu essaies de rajouter un élément dans ta liste durant l’itération ce qui est interdit.
    *********************
    Merci à toi