日期:2014-05-20  浏览次数:20717 次

请教一下关于 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了

}