HashMap 按key的字母排序

来源:互联网 发布:列王的战争 知乎 编辑:程序博客网 时间:2024/06/03 19:50


HashMap排序;

如:

请以key按字母排序输出map

HashMap<String, String> map = new HashMap<String, String>();

map.put("btest""test");

map.put("catid", "test" );

map.put("acest""test");

map.put("abatid","test");

map.put("dbatid","test");

 

 

第一步: 将HashMap转成List

List<Map.Entry<String, String>> infoIds = new ArrayList<Map.Entry<String, String>>(map.entrySet());

 

第二步:Collections.sort排序

Collections.sort(infoIds, new Comparator<Map.Entry<String, String>>() {

public int compare(Map.Entry<String, String> o1,

Map.Entry<String, String> o2) {

// 指定排序器按照降序排列

return o1.getKey().compareTo(o2.getKey());

}

 

});

//排序后
for (int i = 0; i < infoIds.size(); i++) {
    String id = infoIds.get(i).toString();
    System.out.println(id);
}

 

我想输出是这样的。

 

[abatid=test, acest=test, btest=test, catid=test, dbatid=test]

0 0