我想要一个按键排序的整个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?
答案 0 :(得分:2)
最简单的方法就是将键值对放入TreeMap中。通常,这将按默认比较器顺序按键排序。如果您需要自定义排序,您可以使用自定义Comparator构建TreeMap,该Comparator实现您的首选排序。
代替您的代码,只需使用:
SortedMap<String, String> sortedMap = new TreeMap<>(unsortedMap);
你可以确定TreeMap将使用与TreeSet相同的顺序,只是因为TreeSet使用了一个带有空值的TreeMap来实现它的实现。