【发布时间】:2017-02-22 15:10:25
【问题描述】:
我有一个地图,里面有键和值
键:- 案例 1,案例 2……案例 10
值:- 一月、二月......十月
现在当我把这张地图放在数组列表中(这样我就可以对其进行排序)
for (String key : dataValueMap.keySet()) {
System.out.println(key + " " + dataValueMap.get(key));
}
ArrayList<String> keys = new ArrayList<String>(
dataValueMap.keySet());
Collections.sort(keys);
for (String counter : keys) {
System.out.println(counter); >>>>>BUT it prints like :- case 1 then case 10 then case 2, case 3, case 4 etc.
}
请帮助解决此问题,
提前致谢
【问题讨论】:
-
嗯,是的,你有 strings,并且作为 strings,“10”排在“2”之前。如果你所有的条目都是整数,你应该这样对待它们。不过,目前尚不清楚这与地图有什么关系——本质上你只是用字符串填充
ArrayList<String>。它们恰好是地图中的键这一事实无关紧要。 -
(如果您只有键 1-12,我建议您只使用数组...)
标签: java sorting arraylist hashmap