Java HashMap按照key进行排序
Java HashMap本身就是升序排列,如果要获取集合数据,见如下代码:
Map<String, Integer> map = new HashMap<String, Integer>(); map.put("d", 3); map.put("c", 1); Set keySet = map.keySet(); Collections.sort(keySet); for(Iterator ite = keySet.iterator(); ite.hasNext();) { String temp = ite.next(); System.out.println("key-value: "+temp+","+map.getValue(temp); }
但是如果想要通过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; } });
如果map里面是其他类型直接更改sort里面的比较方法。
版权声明:本文为JAVASCHOOL原创文章,未经本站允许不得转载。