Iterator.remove() IllegalStateException

Im code unten habe ich einen try-catch-block, der versucht, entfernen Sie ein element aus einem Vektor mit Iterator. Ich habe meine eigene Klasse QueueExtendingVect erweitert Vector und implementiert Iterator.

Die variable qev1 eine Instanz der Klasse QueueExtendingVect. Hab ich schon Hinzugefügt, ein paar Elemente dieses Vektors als gut.

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));
   }
}

In diesem code füge ich ein paar Elemente der Vektor-qev1. Die anderen Variablen sind in anderen teilen des Codes.

Allerdings, wenn ich aus meinem Programm erhalte ich eine IllegalStateException zur Laufzeit. Ich bin mir nicht sicher, was das bedeutet.

Ist es möglich, es gibt nichts in Ihrem iterator? Bitte mehr code. Speziell, welche Art ist die Sammlung sind Sie Durchlaufen?

InformationsquelleAutor Delfino | 2014-03-12

Schreibe einen Kommentar