NoSuchElementException, TreeSet

Steve222

Mitglied
Guten Tag.

Warum die NoSuchElementException ?


Exception in thread "main" java.util.NoSuchElementException
at java.util.TreeMap$PrivateEntryIterator.nextEntry(TreeMap.java:1098)
at java.util.TreeMap$KeyIterator.next(TreeMap.java:1154)
at TreeSetTest.main(TreeSetTest.java:124)

------------------------------------------------------ Code Anfang ---------------------------------------
...
TreeSet<Person1> ts = new TreeSet<Person1>();

Iterator ascit2 = ts.iterator();

while(ascit2.hasNext() ){
Person1 objP = (Person1)ascit2.next(); // ZEILE 117
System.out.println(objP.vname);
}

Iterator descit2 = ts.descendingIterator();

while(descit2.hasNext()){
Person1 objP1 = (Person1)ascit2.next(); // ZEILE 124 Geht nicht : wirft obige Fehlermeldung
System.out.println(objP1.vname);
System.out.println(descit2.next()); // ZEILE 126 Klappt ! ascit2.hasNext() und (descit2.next()) durchlaufen TreeSet-Objekt
}
...
------------------------------------------------------ Code ENDE ---------------------------------------

Frage 1:
Warum klappt ZEILE 126, mit der die Objekte, also mehrmals sowas wie "Person1@42e816", ausgegeben werden

und ZEILE 124 NICHT , wohingegen ZEILE 117 die prinzipiell gleich ist, problenlos ausgeführt wird.


Ich bedanke mich für sachdienliche Hinweise, die zur Lösung meines Problemchens führen.

Gruß

Steve222
 
Hallo,

Schau dir mal die Zeile 124 gaaanz genau an ;) Vorallem deinen Iterator, schau mal ob das der richtige ist ;)

Gruß
BK

// Edit: Code-Ausschnitte bitte mit den JAVA-Tags umfassen, z.B.:
[ java]
... CODE ...
[/ java]

So wird die Sache ein bisschen farbiger und einfacher zu lesen
 
Zuletzt bearbeitet:
Hi.

Bitte verwende Code-Tags! :google:

Java:
while(descit2.hasNext()) { // descit2
Person1 objP1 = (Person1)ascit2.next(); // ascit2



Gruß
 

Neue Beiträge

Zurück