java我的迭代器程序为什么会出现死循环?

Listlist=newArrayList();list.add("aaa");list.add("bbb");Iteratorite=list.iterator();w... List list = new ArrayList();
list.add("aaa");
list.add("bbb");
Iterator ite = list.iterator();
while(ite.hasNext()){
System.out.println(“------”);
}
展开
 我来答
大时代暑
2009-07-02 · TA获得超过2.5万个赞
知道大有可为答主
回答量:4111
采纳率:0%
帮助的人:4821万
展开全部
当然会出现死循环

原因:

你没有使用next()方法,就是返回下一个元素,所以你 的程序中的游标(迭代器)始终停留在了aaa的前面,而没有跳到下一个位置,因为ite.hasNext()) 只是判断是否有下一个元素,而 String str = (String) ite.next()才是返回下一个元素并将游标(迭代器)移动到下一个元素的位置
zskzhao
2009-07-02 · TA获得超过346个赞
知道小有建树答主
回答量:852
采纳率:0%
帮助的人:403万
展开全部
加上这句:String s = (String)ite.next();
因为你已经添加了元素所以ite.hasNext()的值一直是true当然是死循环了。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
梼杌
2009-07-02 · TA获得超过956个赞
知道小有建树答主
回答量:1640
采纳率:0%
帮助的人:537万
展开全部
ite一直都有next。。。。
你需要移动“next”。。。

具体的 zskzhao 已经说了。我就不抢分了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
深圳市百德轩金业
2009-07-02 · TA获得超过525个赞
知道小有建树答主
回答量:456
采纳率:0%
帮助的人:168万
展开全部
学到了 ,还没注意过这种情况
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式