Java 如何让HashMap集合按照key进行排序呢?
下文笔者讲述java中HashMap集合按照key排序的方法分享,如下所示:
实现思路:
方式1:
获取key集合,然后在Collections.sort(key集合)
方式2:
自定义一个外部比较器,在比较器中设置其比较规则
例:
Map<String, Integer> map = new HashMap<String, Integer>();
map.put("t",8888);
map.put("a",9999);
Set keySet = map.keySet();
Collections.sort(keySet);
for(Iterator ite = keySet.iterator(); ite.hasNext();) {
String k = ite.next();
System.out.println("key-value: "+k+","+map.getValue(v);
}
//如果需按照key降序排列时,我们需重写sort方法
Collections.sort(keySet, new Comparator() {
public int compare(Object o1, Object o2) {
if (Integer.parseInt(o1.toString()) > Integer.parseInt(o2.toString()) return 1;
if (Integer.parseInt(o1.toString()) == Integer.parseInt(o2.toString()) return 0;
else return - 1;
}
});
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。


