📜  在Java中按键对 LinkedHashMap 进行排序

📅  最后修改于: 2022-05-13 01:55:18.619000             🧑  作者: Mango

在Java中按键对 LinkedHashMap 进行排序

LinkedHashMap 维护插入顺序。将 LinkedHashMap 转换为 TreeMap,然后打印本质上排序的 TreeMap 的键。

例子:

Input: linkedHashMap = {{5,4}, {3,44}, {4,15}, {1,20}, {2,11}}
Output:
key -> 1 : value -> 20
key -> 2 : value -> 11
key -> 3 : value -> 44
key -> 4 : value -> 15 
key -> 5: value -> 4

方法:

  1. 以 LinkedHashMap 作为输入。
  2. 创建新的树图。
  3. 将 LinkedHashMap 对象传递给 TreeMap 的构造函数。
  4. 打印 TreeMap 对象的键。

下面是上述方法的实现:

Java
// Sort LinkedHashMap by keys in Java
import java.util.*;
import java.io.*;
  
class GFG {
    public static void main(String[] args)
    {
        LinkedHashMap lMap
            = new LinkedHashMap<>();
  
        // adding key-value pairs to LinkedHashMap object
        lMap.put(5, 4);
        lMap.put(3, 44);
        lMap.put(4, 15);
        lMap.put(1, 20);
        lMap.put(2, 11);
        System.out.println("After Sorting :\n");
  
        // convert to TreeMap
        Map map = new TreeMap<>(lMap);
  
        // iterate acc to ascending order of keys
        for (Integer sKey : map.keySet()) {
            System.out.println("Key -> " + sKey
                               + ":  Value -> "
                               + lMap.get(sKey));
        }
    }
}


输出
After Sorting :

Key -> 1:  Value -> 20
Key -> 2:  Value -> 11
Key -> 3:  Value -> 44
Key -> 4:  Value -> 15
Key -> 5:  Value -> 4