请教一下关于 Iterator 的 hasNext() 方法
import java.util.*;
public class TestWenTi {
public static void main(String[] args) {
Collection <String> c2 = new HashSet <String> ();
c2.add( "aaa ");
c2.add( "bbb ");
c2.add( "ccc ");
Iterator <String> it = c2.iterator();
while(it.hasNext()) {
String s = it.next();
System.out.println(s);
}
System.out.println(it.hasNext());//当打印 it.hasNext() 的时候
//it.hasNext() 是 false;
//怎么让它初始化为 true;
}
}
------解决方案--------------------你的问题是什么呢?他的用法还是他的?
请去看api
java.util
接口 Iterator <E>
boolean hasNext()
------解决方案--------------------Iterator是单向的,next到最后以后就无法返回了,除非重新生成
------解决方案--------------------while(it.hasNext()) {
String s = it.next();
System.out.println(s);
}
while(it.hasNext())因为这里循环已经退出循环了 所以下面的打印false
System.out.println(it.hasNext());//
//
你可以这么写
while(it.hasNext()) {
String s = it.next();
System.out.println(s);
System.out.println(it.hasNext());//就打印true了
}