我成功地使用比較器按ID分類學生,並使用for循環顯示,我希望知道如何使它與迭代器發生,以及我嘗試過,但只有在控制檯中的地址,並不知道如何打印來自學生類的信息使用迭代器來處理ArrayList中的複雜對象?
public static void main(String[] args) {
Student stu1 = new Student("Lucy",1000,99);
Student stu2 = new Student("Jack",1001,22);
Student stu3 = new Student("Peter",1002,53);
ArrayList<Student> student = new ArrayList<Student>();
student.add(stu1);
student.add(stu2);
student.add(stu3);
Collections.sort(student,new StuCOmp("id"));
for (int i=0; i<student.size(); i++) {
Student stu = student.get(i);
System.out.println(stu.getName() + " "+stu.getId()+ " "+stu.getGrade());
}
Iterator<Student> it = student.iterator();
while(it.hasNext()){
//what do I write here
}
}
迭代器不具有許多方法。你有沒有檢查過uits javadoc? http://docs.oracle.com/javase/7/docs/api/java/util/Iterator.html –
你基本上和使用普通的'for'循環做同樣的事情。將'it.next()'分配給臨時變量,做任何事情,重複。 – awksp
http://stackoverflow.com/questions/5228687/java-best-way-to-iterate-through-an-collection-here-arraylist – AJJ