This question already has answers here:
How to traverse Linked Hash Map in reverse? [duplicate]
                            
                                (3个答案)
                            
                    
                去年关闭。
        

    

我想以相反的顺序更改LinkedHashMap中的元素。像这样:

public static void main(String[] args){
    Map<String, Integer> map = new LinkedHashMap<>();
    map.put("Hello", 2);
    map.put("World", 1);
    reverse(map);
    System.out.println(map);// {Wordl=1, Hello=2}
}

public static void reverse(Map<String, Integer> map){
   // Reverse my map...
}


但是我没有找到任何可以帮助我做到这一点的东西。有人可以建议如何解决吗?
谢谢。

最佳答案

您可以使用以下代码以相反的顺序进行迭代:

   ListIterator<Map.Entry<String, Integer>> iterator = new ArrayList<Map.Entry<String, Integer>>(map.entrySet()).listIterator(map.size());
            while (iterator.hasPrevious()) {
                Map.Entry<String, Integer> entry = iterator.previous();
                System.out.println(entry.getValue());
            }

10-04 20:18