转自:
下文笔者讲述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; } });