除了使用 LinkeHashmap 之外,我还可以得到一个键有序的 Hashmap 吗?
Map<String,String> myMapTmp = XXDao().getXXX();
Map<String,String> myMap = new LinkedHashMap<String,String>();
List<String> keyList = new ArrayList<String>();
Iterator<String> it =myMapTmp.keySet().iterator();
while(it.hasNext()){
keyList.add(it.next());
}
Collections.sort(keyList);
Iterator<String> it2 = keyList.iterator();
while(it2.hasNext()){
String key = it2.next();
myMap.put(key, myMapTmp.get(key));
}
最佳答案
您可以将 TreeMap
与 HashMap
的映射一起使用
Map<String,String> myMapTmp = XXDao().getXXX();
// TreeMap keeps all entries in sorted order
TreeMap<String, String> sortedMap = new TreeMap<>(myMapTmp);
Set<Entry<String, String>> mappings = sortedMap.entrySet();
System.out.println("HashMap after sorting by keys in ascending order ");
for(Entry<String, String> mapping : mappings){
System.out.println(mapping.getKey() + " ==> " + mapping.getValue());
}
关于java - 如何让Hashmap有序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47787287/