iterator 嵌套循环

thomaswen156 2009-12-25 10:05:42
我有 2个ArrayList 想实现 嵌套循环,但是内部的while 只能做一次循环,如何解决这个问题呢?

Iterator it1=list1.iterator();

while(it1.hasnext()){

Iterator it2=list2.iterator();

while(it1.hasnext()){

}

}
...全文
179 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
steel1985 2009-12-28
  • 打赏
  • 举报
回复
for循环不行啦
coolbamboo2008 2009-12-28
  • 打赏
  • 举报
回复
楼主的意思懂了,但是不要这样写,Iterator只能用一次,你如果想在Iterator中再套循环,还是用for循环吧。另外,你的Iterator it2=list2.iterator(); 为什么要在while(it1.hasnext())仍然用it1呢,应该用it2吧
smilegirlsyh 2009-12-28
  • 打赏
  • 举报
回复
如果内层循环只走一次,还有必要写成循环吗?直接比对不是更好么
curacfyh 2009-12-25
  • 打赏
  • 举报
回复
根本就写错了
quanquan1022 2009-12-25
  • 打赏
  • 举报
回复
呵呵。。改用for循环吧,再说你的迭代写错了呢。。。。你那应该是递归吧
accplcj 2009-12-25
  • 打赏
  • 举报
回复
得用 for啊
rm35458526 2009-12-25
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 select9 的回复:]
针对ArrayList这种支持高效随机访问的数据结构
还是不要用迭代器用for循环就ok了。
[/Quote]
ArrayList实现了randomaccess接口,用来表明其支持快速的随访问,(一般来说,是固定时间,最好的是1,最差的是n,基本差不多是n/2的时间),在考虑性能方面for循环要优于iterator迭代的循环,未实现此接口的如linkedlist,此时用迭代的效果要优于for循环,迭代的原理其实是一个类似指针的作用,每次迭代后指向2个元素的中间
Select9 2009-12-25
  • 打赏
  • 举报
回复
针对ArrayList这种支持高效随机访问的数据结构
还是不要用迭代器用for循环就ok了。
wanli209 2009-12-25
  • 打赏
  • 举报
回复
for(Object o1:list1){
for(Object o2:list2){
// do something...
}
}
茄子煸土豆 2009-12-25
  • 打赏
  • 举报
回复
为什么要这么做呢??
用FOR不行么?
wanli209 2009-12-25
  • 打赏
  • 举报
回复
而且你没有it1.next()
怎么迭带呢
wanli209 2009-12-25
  • 打赏
  • 举报
回复
为什么只迭带it1 那 it2用来做什么的
nickycheng 2009-12-25
  • 打赏
  • 举报
回复
Iterator it1=list1.iterator();

while(it1.hasnext()){

Iterator it2=list2.iterator();

while(it1.hasnext()){

}

}
你这是嵌套吗?????
sean1203 2009-12-25
  • 打赏
  • 举报
回复
里面的循环改成for(int i=0;i<list2.size();i++)就可以了
deng8818 2009-12-25
  • 打赏
  • 举报
回复
递归不是这样写的。

81,094

社区成员

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

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