映射<String, String> 到 TreeMap<Integer, String>

Map<String, String> to TreeMap<Integer, String>

我有一个 Map<String, String> 对象。我想让它按键排序,但键应该被视为整数。我刚刚创建了一个 TreeMap<Integer, String>(myMapObject)

但这显然行不通。如何创建新的 TreeMap 并将键从字符串更改为整数?

您可以在 Java 中使用 Collectors.toMap 8:

Map<Integer, String> map1 = map.entrySet().stream().collect(Collectors.toMap(entry -> Integer.parseInt(entry.getKey()), Map.Entry::getValue, (a, b) -> b));

或低于传统方法:

Map<Integer, String> map1 = new HashMap<>();

for(final Map.Entry<String, String> entry : map.entrySet()){
     map1.put(Integer.parseInt(entry.getKey()), entry.getValue());
}