如何以反方向迭代此地图

Pra*_*eek 4 java

这是我的迭代器映射,根据某些条件删除一些数据,现在我想反向运行相同的映射并相应地调整条件.

但我找不到任何ListIterator容易回去的东西.

我怎么能这样做?

Map我正在使用的实现是一个TreeMap

for(int i=countIteration;i<(countIteration+2);i++)
{
    Iterator it = imageFilexxSm.entrySet().iterator();
    while (it.hasNext()) {
        Map.Entry pairs = (Map.Entry)it.next();
        if(pairs.getKey().equals(data1.get(i).replace(".png", ".mp3")))  
        {
            it.remove();
        }
    }

    Iterator itr = imageFilexxS.entrySet().iterator();
    while (itr.hasNext()) {
        Map.Entry pairsx = (Map.Entry)itr.next();
        if(pairsx.getKey().equals(data1.get(i)))     
        {
            System.out.println("entry deleted."+pairsx.getKey());
            itr.remove();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

ass*_*ias 18

TreeMap有一个descendingMap方法(注意它返回原始地图上的视图,它不复制它):

//iterate over the entry set in reverse order
for (Map.Entry<X,Y> e : map.descendingMap().entrySet()) {
    X key = e.getKey();
    Y value = e.getValue();
}
Run Code Online (Sandbox Code Playgroud)

  • `NavigableMap`就是这么棒的界面:) (2认同)