java - 以相反的顺序更改 LinkedHashMap 项

标签 java dictionary collections

我想以相反的顺序更改 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());
            }

关于java - 以相反的顺序更改 LinkedHashMap 项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54110011/

相关文章:

java - 如何动态添加Ivy到Ant

python - python中的嵌套dict,根据内部键搜索获取内部值和父键

ios - 如何检查字符串所在的数字数组。使用swift

java - 任何人都可以解释这个 HashMap 行为吗

c# - .NET HashTable 与 Dictionary - Dictionary 能一样快吗?

java - 跨多个单元测试/类的冗余方法

java - 分割字符串时的"java.lang.NullPointerException"

java - Simpledateformat 没有检查日期验证?

python - 带有 if else hasattr 的 for 循环中的字典列表

java.util.Set、java.util.List 可序列化问题