java中map的排序问题

2025-01-05 06:02:49
推荐回答(3个)
回答1:

HashMap里面的元素是无序的,要进行排序的话只能是用TreeMap和SortedMap,例如:
public static void main(String[] args) throws Exception{
Map map=new TreeMap();
map.put("1", 1);
map.put("9", 9);
map.put("4", 4);
map.put("2", 2);
map.put("8", 8);
map=mapSortByKey(map);
System.out.println(map.toString());
}
private static SortedMap mapSortByKey(Map unsort_map) {
TreeMap result = new TreeMap();

Object[] unsort_key = unsort_map.keySet().toArray();
Arrays.sort(unsort_key);

for (int i = 0; i < unsort_key.length; i++) {
result.put(unsort_key[i].toString(), unsort_map.get(unsort_key[i]));
}
return result.tailMap(result.firstKey());
}

回答2:

程序本身是没有问题的。

回答3:

问题是什么?