当前位置: 技术问答>java相关
什么叫“删除一个元素,就必须移到另一个元素“?
来源: 互联网 发布时间:2015-06-08
本文导语: Thinking in Java 英文版第二版p469在LinkedList中使用 Iterator时,如果在LinkedList中使用游标作add和remove操作后,就会将游标移一下, 并称:“Must move to an element after add(); Must move to an element after remove();" ...
Thinking in Java 英文版第二版p469在LinkedList中使用
Iterator时,如果在LinkedList中使用游标作add和remove操作后,就会将游标移一下,
并称:“Must move to an element after add();
Must move to an element after remove();"
这什么意思?为什么非要移呢?
Iterator时,如果在LinkedList中使用游标作add和remove操作后,就会将游标移一下,
并称:“Must move to an element after add();
Must move to an element after remove();"
这什么意思?为什么非要移呢?
|
呵呵,没研究其中的细节,就想当然的回答了你,勿怪:)
可以看到,它内部的实现全都是基于addBefore--在当前位置前插入
插入后如果不nextIndex++,那原指向的Element就会发生变化,改为指向新元素,与它文档中指定的行为不符。
至于remove后要移动Cursor,我想是因为怕失去指针指向或导致异常的发生吧。
可以看到,它内部的实现全都是基于addBefore--在当前位置前插入
插入后如果不nextIndex++,那原指向的Element就会发生变化,改为指向新元素,与它文档中指定的行为不符。
至于remove后要移动Cursor,我想是因为怕失去指针指向或导致异常的发生吧。