我想从末尾开始向后迭代Java链表。Java的LinkedList有一个方法descendingIterator(),它返回一个向后的迭代器。然而,我也希望能够在迭代过程中无论身在何处,都能动态地在列表中进行持续时间插入。descendingIterator()方法不返回ListIterator,因此无法执行插入。在Java中有没有内置的方法可以做到这一点,或者我只需要自己实现?
list.listIterator(list.size()-1);
可能就是你想要的。根据文件,它不应该在线性时间内运行:
所有操作的执行与双链接的预期一致列表索引到列表中的操作将从开始或结束,以更接近指定索引的为准。
因此,您可以考虑LinkedList可以直接访问其最后一个元素。
另请参阅:https://stackoverflow.com/a/2765764/734151
您可能需要检查执行时间来验证这一点。