黑马程序员技术交流社区

标题: 迭代器疑问 [打印本页]

作者: 邹海洋    时间: 2012-11-12 00:56
标题: 迭代器疑问
本帖最后由 邹海洋 于 2012-11-12 11:32 编辑

List特殊之处是可以通过listIterator方法返回一个ListIterator对象,即一个迭代器,而List下面有很多实现类和接口,当类实例化后,ArrayList  al  =  new  ArrayList(),是否都可以创建ListIterator对象?ListIterator  li   =   al.listIterator()?然后在迭代过程中,只能用迭代器中的方法,但为什么不能同时用两个?while(li.hasNext()){if(li.next().equals("java")) li.add("java2");li.remove("java3")}add和remove同时用会报异常?白天电脑上运行报异常,现在手机打字,不知道代码打错没

作者: 王永荣    时间: 2012-11-12 09:19
void remove()
remove是没有参数的。remove删除的元素是next或previous返回的最后一个元素。
并且调用有个原则:
只有在最后一次调用 next 或 previous 之后,尚未调用 ListIterator.add 时才可以执行该调用。
作者: 邹海洋    时间: 2012-11-12 11:31
王永荣 发表于 2012-11-12 09:19
void remove()
remove是没有参数的。remove删除的元素是next或previous返回的最后一个元素。
并且调用有 ...

谢了 哥们。昨天报的是个NoSuchElementsException 昨天没学到 今天学到了 呵呵
作者: 打工人    时间: 2012-11-12 11:58
邹海洋 发表于 2012-11-12 11:31
谢了 哥们。昨天报的是个NoSuchElementsException 昨天没学到 今天学到了 呵呵

这都行!!!!
作者: 邹海洋    时间: 2012-11-12 12:08
冯海霞 发表于 2012-11-12 11:58
这都行!!!!

嘿嘿 学到前面我就想到后面了,没办法 哈哈




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2