我想查看输入ArrayList并删除元素,如果找到的话,我想通过最简单的方法Iterator,这是我的代码:
for (Iterator<Student> it = school.iterator(); it.hasNext();){
if (it.equals(studentToCompare)){
it.remove();
return true;
}
System.out.println(it.toString());
it.next();
}
Run Code Online (Sandbox Code Playgroud)
但有些事情是错误的:而不是通过我的迭代ArrayList<Student> school我得到it.toString():
java.util.ArrayList$Itr@188e490
java.util.ArrayList$Itr@188e490
...
Run Code Online (Sandbox Code Playgroud)
怎么了?
joh*_*902 19
it是Iterator,不是Student
for (Iterator<Student> it = school.iterator(); it.hasNext();){
Student student = it.next();
if (student.equals(studentToCompare)){
it.remove();
return true;
}
System.out.println(student.toString());
}
Run Code Online (Sandbox Code Playgroud)
Sur*_*tta 14
为什么不 ?
school.remove(studentToCompare);
Run Code Online (Sandbox Code Playgroud)
使用List remove(Object)方法.
从该列表中删除第一次出现的指定元素(如果存在)(可选操作).
而且
如果此列表包含指定的元素,则返回true(或等效地,如果此列表因调用而更改).
| 归档时间: |
|
| 查看次数: |
22582 次 |
| 最近记录: |