关于iterator?!

jackjack123123123 2010-10-12 02:40:03
listIterator一开始究竟指向容器的哪个元素。在一开始时候调用nextIndex()返回的是0,previousIndex()返回的是-1,那此时的指针究竟指向哪里?如果先调用next()然后再调用previous()返回的都是同一个元素?为什么的呢?
...全文
52 点赞 收藏 3
写回复
3 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
wypbt1032 2010-10-12
[Quote=引用 1 楼 wypbt1032 的回复:]

listIterator一开始不指向具体的元素;所以调用nextIndex()返回的是0,previousIndex()返回的是-1;如果直接调previous(),就会发出NoSuchElementException异常,next()返回下一个元素,previous()返回当前指向的元素,先调用next()然后再调用previous()返回的都是同一个元素,例如刚开始用next后返回下标是0的……
[/Quote]
不好意思,回答错误!
listIterator的指针不指向具体的元素,而是在元素的中间!
previous和next正好相反
next()返回下一个元素,并且指针向后移一位;
previous()返回上一个元素,指针向后移一位;


回复
wypbt1032 2010-10-12
listIterator一开始不指向具体的元素;所以调用nextIndex()返回的是0,previousIndex()返回的是-1;如果直接调previous(),就会发出NoSuchElementException异常,next()返回下一个元素,previous()返回当前指向的元素,先调用next()然后再调用previous()返回的都是同一个元素,例如刚开始用next后返回下标是0的元素,并且listIterator指针向后移,指向下标为0的元素,这时用previous返回下标0的元素,所以返回了一样的元素;

next()返回下一个元素,并且指针向后移一位;
previous()返回当前元素,指针不动;
不同的地方在next会使指针先向后移,在返回指向的元素;
回复
相关推荐
发帖
Web 开发
创建于2007-09-28

8.0w+

社区成员

Java Web 开发
申请成为版主
帖子事件
创建了帖子
2010-10-12 02:40
社区公告
暂无公告