迭代器有.next() - 有没有办法得到前一个元素而不是下一个元素?

2022-09-02 05:00:31

我有一个在HashMap上使用的迭代器,我保存并加载迭代器。有没有办法使用迭代器在HashMap中获取上一个密钥?(java.util.Iterator)

更新

我将其保存为Red5连接中的属性,然后将其加载回去以继续在我停止的地方工作。

另一个更新

我正在迭代哈希映射的键集


答案 1

您可以使用 代替 。ListIterator 有 和 方法。ListIteratorIteratorprevious()hasPrevious()


答案 2

正如其他人所指出的那样,不是直接的,但是例如,如果您需要访问前一个元素,则可以轻松地将其保存在单独的变量中。

T previous = null;
for (Iterator<T> i = map.keySet().iterator(); i.hasNext();) {
    T element = i.next();

    // Do something with "element" and "previous" (if not null)

    previous = element;
}