我想做的是:
for (Entry<Foo, Foo> myEntry : myMap.entryList())
{
if (someCondition(myEntry.getKey()))
{
doSomething(myEntry.getValue())
}
}
顺序很重要,因为 myEntry.getValue() 将指向稍后将到达的键。是否有一个 Map 实现可以保证条目的顺序并允许我按该顺序遍历条目?我找到了 SortedMap,但它看起来像 SortedMaps 对键进行排序。这不是我所需要的。我只是想按照我放入它们的相同顺序将我的条目从我的地图中取出。
对于那些想知道我要做什么的人,myMap 表示 Foo 对象的层次结构。当在“someCondition”中满足条件时,我标记 Foo 的父级(恰好是条目的值)。稍后当父母成为钥匙时,我会知道我之前已经标记过它并会采取相应的行动。现在我已经创建了一个递归的“markParent”调用,但是如果我可以以已知的顺序遍历地图,我就不需要这样做了。