我想从最后开始向后遍历Java链表。 Java的LinkedList有一个方法descendingIterator(),它返回一个倒退的迭代器。 但是,我还希望能够在迭代期间的任何地方动态地将常量时间插入到列表中。 descendingIterator()方法不返回ListIterator,因此无法执行插入操作。 有没有内置的方法在Java中执行此操作,或者我只需要自己实现?
答案 0 :(得分:0)
list.listIterator(list.size()-1);
可能就是你要找的东西。根据{{3}},它不应该以线性时间运行:
所有操作都表现为可以预期的双重链接 名单。索引到列表中的操作将遍历列表 开头或结尾,以较接近指定的指数为准。
因此,您可以认为LinkedList可以直接访问其最后一个元素。
另请参阅:documentation
您可能需要检查执行时间以验证这一点。