ArrayList<Student> al = new ArrayList<Student>();
Iterator itr = al.iterator();
while (itr.hasNext())
{
Student st = (Student) itr.next();
System.out.println(st.rollno+" "+st.name+""+st.age);
}
Angenommen, Student-Klasse mit drei Datenelemente Rollno, Name und Alter. Also, meine Frage ist, warum wir in der Aussage Student st = (Student) itr.next(); Aber wenn wir eine ArrayList mit String als Typen von Datenelementen erstellen, ist es nicht notwendig, sie erneut mit Iterator zu reduzieren. Bitte helfen Sie, meine Zweifel zu beseitigen.Iterator-Schnittstelle und Methode
IIRC 'al.iterator()' würde einen 'Iterator' zurückgeben, so dass es keine Notwendigkeit für die Besetzung gibt. Es wird nur benötigt, weil Sie die Generika aus 'Iterator itr' entfernt haben. Btw, das gleiche gilt für 'ArrayList ', wenn Sie unterschiedliche Ergebnisse haben, haben Sie höchstwahrscheinlich einen anderen Code (z. B. verwenden Sie 'Iterator ' in diesem Fall). –
Thomas
Sie könnten einfach "Iterator itr" in "Iterator itr" ändern. –
Zircon
Ich glaube, du musst noch casten: 'String st = (String) itr.next();' sonst wird nicht kompiliert. Wie sind Sie davon ausgegangen, dass Sie nicht umwandeln müssen, wenn der Objekttyp in der Liste String ist? – SomeDude