将下列数据升序排列:
{3:"cc", 1:"aa", 22:"dd", 2:"bb"}
得到如下结果:
{1:"aa", 2:"bb", 3:"cc", 22:"dd"}
上面map中的value可以是任意类型。
使用时调用的排序方法:
/**
*
* <b>Description:</b><br>对map利用key进行排序
* @param map
* @return
* @Note
* <b>Author:</b> 简陌刀丶阿吉
* <br><b>Date:</b> 2019年8月27日 上午11:06:32
* <br><b>Version:</b> 1.0
*/
public static Map<String, Object> sortMapByKey(Map<String, Object> map) {
if (map == null || map.isEmpty()) {
return null;
}
Map<String, Object> sortMap = new TreeMap<String, Object>(new KeyCompareUtil());
sortMap.putAll(map);
return sortMap;
}
排序方法中用到的比较器类:可以按照string排序,也可以按照int排序,修改compare方法就行
public class KeyCompareUtil implements Comparator<String>{
/**
*
* 从小到大排序
* @see java.util.Comparator#compare(java.lang.Object, java.lang.Object)
*/
@Override
public int compare(String s1, String s2) {
return Integer.valueOf(s1).compareTo(Integer.valueOf(s2));
}
}