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

2022-01-10 00:00:00 iterator collections java

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

I have an Iterator that I use on a HashMap, and I save and load the iterator. is there a way to get the previous key in the HashMap with Iterator? (java.util.Iterator)

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

I save it as an attribute in a Red5 connection and then load it back to continue working where i stopped.

我正在遍历 HashMap 的键集

I'm iterating through the keyset of the HashMap

推荐答案

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

Not directly, as others pointed out, but if you e.g. need to access one previous element you could easily save that in a separate variable.

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;
}

相关文章