本帖最后由 qian119110 于 2010-11-10 13:28:16 编辑

解决方案 »

  1.   

    关于小问题:没使用it.next()的时候,指针是在数组的第一个元素的前面
      

  2.   

    因为你已经调用了next()所以实际上nextIndex已经被成指向下一个元素了
    而it默认是在第一个元素之前,所以它才会有hasNext(),才能调用next时返回第一个元素
      

  3.   

    这里没有当前元素的说法,  所以前一个和下一个是挨着的;
    初始的 previousIndex=-1 nextIndex=0
      

  4.   

    那previousIndex怎么指向第一个元素?
    就如移动到最后个元素,it.previousIndex()显示的是7,是最后个元素。
    这里我的理解不是应该是6的吗?
    最后的元素,索引是7,它前面的不应该是6吗?
      

  5.   

    |$|$|$|$|$|$|iterator 指向的是两个元素中间、而不是某个元素。
      

  6.   

    系列表迭代器,允许程序员按任一方向遍历列表、迭代期间修改列表,并获得迭代器在列表中的当前位置。ListIterator 没有当前元素;它的光标位置 始终位于调用 previous() 所返回的元素和调用 next() 所返回的元素之间。在长度为 n 的列表中,有 n+1 个有效的索引值,从 0 到 n(包含)。 
              Element(0)   Element(1)   Element(2)   ... Element(n)   
            ^            ^            ^            ^               ^
     Index: 0            1            2            3               n+1API有说明 。。
    谢谢各位了