请教一下关于 Iterator 的 hasNext() 方法

xiangfeidecainiao 2007-06-01 04:31:50
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;

}
}
...全文
590 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiangfeidecainiao 2007-06-01
  • 打赏
  • 举报
回复
luobobaobao()
呵呵 谢谢你这么说.
不过我不是要他打印出true,而是要it.hasNext()这个方法由false重新变成true


就算是要打印true,每次循环都打印一次,那也太多了吧.
如果真要打印true,我可以在 while 循环前打印
luobobaobao 2007-06-01
  • 打赏
  • 举报
回复
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了

}
xiangfeidecainiao 2007-06-01
  • 打赏
  • 举报
回复
li_d_s 谢谢了
li_d_s 2007-06-01
  • 打赏
  • 举报
回复
Iterator是单向的,next到最后以后就无法返回了,除非重新生成
youqian 2007-06-01
  • 打赏
  • 举报
回复
你的问题是什么呢?他的用法还是他的?
请去看api
java.util
接口 Iterator<E>

boolean hasNext()

62,615

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧