首页 > 编程语言 > 详细

(Java)利用ListIterator(iterator 重复器/迭代器的子接口) 操作ArrayList

时间:2015-09-29 21:49:43      阅读:291      评论:0      收藏:0      [点我收藏+]

 

add()方法是在下一个将要取得的元素之前插入新的元素。因此如果在下一个将要取得的元素的序号为0,则在序号0的元素前插入新的元素。

 

测试:

技术分享

见第1.行,在序号为0的元素前添加一个元素。

技术分享

见第2.行:这次是在序号为1的元素前添加一个元素,说明ListIterator是自动向前遍历的

注意!! 此时的index实际上是0,因为新元素是在序号为1的元素前添加的。

 

技术分享

技术分享

根据加以上两个测试结果,看出nextIndex取的是下个index(序号),next取的是下个index(序号)中的元素

 

十万个Attention!!先看看JAVA API对ListIterator的说明:

技术分享

需要注意的是nextIndex只是返回一个index,并没有修改其他的东西。而next取下一个index的元素不单单是取里面的元素,而且其游标(java没有指针,但这里的概念类似于指针)也会移动。在JAVA中有许多这样的情况发生。

打个比方,假如当前遍历的是序号为0的元素。当使用nextIndex()函数时,会返回1,执行完nextIndex()后当前遍历的元素序号还是0,并不是1。

而如果使用next()来替代nextIndex()时,会返回序号为1的元素,而且此时游标会标记为序号1(相当于有一个指针从指向序号0变为指向序号1),即当前遍历的元素序号已经不是0,而是变成了1。

(Java)利用ListIterator(iterator 重复器/迭代器的子接口) 操作ArrayList

原文:http://www.cnblogs.com/KardelXiao/p/4847352.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!