求解关于Iterator的remove()方法操作后的遍历问题
while (iterator.hasNext()) {
Org org = (Org) iterator.next();
String orgId=org.getId();
if(commOrgId.equals(orgId)){
iterator.remove();
}
我的意思是通过remove()结束之后,我从debug看到iterator里面的值去掉了,但是我想把去掉之后的这个iterator里的值重新遍历,结果是他遍历不是从下标0开始,而是从你最后移除的位置,我想能不能让她重最开始遍历(移除之后的)。。。。
------解决方案--------------------我今天在线等,急解决。。。。
------解决方案--------------------这需求好奇怪,前面不是遍历过了么,为什么还要遍历呢。。。
要是再从0开始,那不死循环了么,怎么结束呢。。。
像你这种需求不适合用iterator,直接for(int i=0; i<xxx; i++)吧。。。
------解决方案--------------------不是啊,这是和另一个iterator遍历进行比较,把这个iterator中和那个相同的移除,可能是两个相同,都移除后,然后重新遍历,因为我要返回这个iterator让别的用(现在别的用的时候就是不是从第一个开始遍历),