任何for循环都可以用while来换
for(初始化:成立条件:每次循环结束前执行){
主体代码......
}
就可以转换为:
初始化....
while(成立条件){
主体代码......
每次循环结束前执行
}
甚至可以变成
初始化....
while(true){
if(!成立条件)
break;
主体代码......
每次循环结束前执行
}
那么
for (Iterator it = coll.iterator(); it.hasNext();) {
Student student = (Student) it.next();
System.out.println(student.getName());
}
就可以变成:
Iterator it = coll.iterator();
while (it.hasNext()) {
Student student = (Student) it.next();
System.out.println(student.getName());
}
或者
Iterator it = coll.iterator();
while (true) {
if(!it.hasNext())
break;
Student student = (Student) it.next();
System.out.println(student.getName());
}
那么上面的代码在空间占用的角度有什么区别呢?
区别就是for循环在运行完成后,变量it就被释放了,外界不能继续使用,而while循环执行完成后变量it依然存在,可以继续使用。
从空间占用上来说,我选择使用for循环完成迭代,但因此导致你看不懂的话,我还是改用while循环把
|