我在Java中有一个LinkedList,一个浏览列表的迭代器,我想克隆迭代器,对原始迭代器的位置做一些临时的“向前看”处理。
我知道克隆迭代器在每种情况下都是不可能的,但有没有办法将迭代器克隆到LinkedList(或保存并恢复其状态)?
我在Java中有一个LinkedList,一个浏览列表的迭代器,我想克隆迭代器,对原始迭代器的位置做一些临时的“向前看”处理。
我知道克隆迭代器在每种情况下都是不可能的,但有没有办法将迭代器克隆到LinkedList(或保存并恢复其状态)?
这是可能的,但Sun确保你不能(通过使这个类私有)。
但也许你可以用a实现你想要的 listIterator()
而不是平原 iterator()
。一个 ListIterator
可以向两个方向移动。
这是可能的,但Sun确保你不能(通过使这个类私有)。
但也许你可以用a实现你想要的 listIterator()
而不是平原 iterator()
。一个 ListIterator
可以向两个方向移动。
随着 ListIterator
你可以存储下一个元素的索引,并可以得到一个新的 ListIterator
基于该指数。
像这样的东西(Java 1.5示例):
LinkedList<Integer> list = new LinkedList<Integer>();
ListIterator<Integer> lit = list.listIterator(0);
<<do something here >>
int index = lit.nextIndex();
ListIterator<Integer> litclone = list.listIterator(index);