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]