java - 如何反转HashMap?

标签 java hashmap

我需要颠倒以下方法返回的顺序。例如,如果它 返回:

1=ball, 2=save, 3=take 4=till

我想反转并返回:

1=till, 2=take, 3=save, 4=ball 

我的方法是:

  public Map<Integer, String> returnMapOfValues(ArrayList<String> wordsList) {
    int getFrequencyValue = 0;
    Set<String> uniqueSetWords = new HashSet<String>(wordsList);
    for (String temp : uniqueSetWords) {
        getFrequencyValue = Collections.frequency(wordsList, temp);
        //prints the Collection of words and they frequency, For testing only
        //System.out.println(temp + ":" + Collections.frequency(wordsList,
        //temp));
        map.put(getFrequencyValue, temp);
        getFrequencyValue = 0;
    }
    return map;
}

最佳答案

请检查我编写的以下代码是否对您有用作为引用:

public void reverseMap()
{
    NavigableMap<Integer,String> map = new TreeMap<Integer,String>();
    LinkedHashMap<Integer,String> reverseMap = new LinkedHashMap<Integer,String>();
map.put(1,"Apple");
    map.put(2,"Ball");
map.put(3,"Cat");
NavigableSet<Integer> keySet = map.navigableKeySet();
Iterator<Integer> iterator = keySet.descendingIterator();
Integer i;
while(iterator.hasNext())
{
    i = iterator.next();
    reverseMap.put(i,map.get(i));
}
System.out.println(reverseMap);
}

关于java - 如何反转HashMap?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21065566/

相关文章:

c - 结构体键的简单查找

java - 无法使用三元运算符更新HashMap的值

java - 在 HashMap Java 中存储数据

java - JAX-WS,为什么收到的LinkedHashMap集合是空的?

java - HashMap 在第 12 个索引中插入第一条记录

java - 为什么我不能创建像 java.basic 这样的包名称?

java - 如何使用 zipfileset 正确创建 ZIP 文件?

java - 多层 Hashmap 和 Arraylist

java - 使用图表引擎上的数据库中的远程数据生成图形

java - 如何使用 HP UFT 或 Selenium Webriver 检索开放图形的元标记属性