我想要一份按键排序的整个 HashMap 的副本。 hashmap 的类型是 HashMap。以下是我所做的。
SortedSet<String> keys = new TreeSet<String>(unsortedap.keySet());
for (String key : keys) {
String value = unsortedMap.get(key);
// I have noticed that here the key values are in order
// How do I copy these ordered values to a hashmap?
}
使用 TreeSet 后,这些值似乎已排序,但是,我不确定现在该怎么办。如何将这些值放入新的 HashMap 中?
最佳答案
最简单的方法是将键值对放入 TreeMap 中。通常,这将按默认比较器顺序按键排序。如果您需要自定义排序,您可以使用自定义比较器构造 TreeMap,该比较器实现您的首选排序。
不用你的代码,只需使用:
SortedMap<String, String> sortedMap = new TreeMap<>(unsortedMap);
您可以确信 TreeMap 将使用与 TreeSet 相同的排序,只要因为 TreeSet 无论如何都使用带有 null 值的 TreeMap 来实现它。
关于java - 如何按键顺序对HashMap进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26640526/