Itérateur.remove() IllegalStateException

Dans le code ci-dessous j'ai un bloc try catch qui tente de supprimer un élément d'un Vecteur, à l'aide d'Itérateur. J'ai créé ma propre classe QueueExtendingVect qui s'étend Vector et met en œuvre Iterator.

La variable qev1 est une instance de la classe QueueExtendingVect. Je l'ai déjà ajouté quelques éléments de ce Vecteur.

try 
{
   qev1.iterator().remove();
}
catch(UnsupportedOperationException e) 
{
   System.out.println("Calling Iterator.remove() and throwing exception.");
}

qev1.enqueue(ci); 
qev2.enqueue(ci);
qcv1.enqueue(ci);
qcv2.enqueue(ci);

for (int i = 1; i < 5; i++)
{
   if (i % 2 == 0)
   {
       qev1.enqueue(new CInteger(i+1));
       qev2.enqueue(new CInteger(i+1));
       qcv1.enqueue(new CInteger(i+1));
       qcv2.enqueue(new CInteger(i+1));
   } 
   else 
  { 
       qev1.enqueue(new Date(i*i));
       qev2.enqueue(new Date(i*i));
       qcv1.enqueue(new Date(i*i));
       qcv2.enqueue(new Date(i*i));
   }
}

Dans ce code, je l'ai ajouter quelques éléments du Vecteur qev1. Les autres variables sont dans d'autres parties du code.

Cependant, lorsque je lance mon programme, j'obtiens une exception IllegalStateException au moment de l'exécution. Je ne suis pas sûr de ce que cela signifie.

Est-il possible qu'il n'y a rien dans votre itérateur? Veuillez fournir plus de code. Précisément quel type est la collection que vous êtes une itération à travers?

OriginalL'auteur Delfino | 2014-03-12