Map的内容按字母顺序排序

package coreJava.com.shindo.corejava.map;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;

public class MapSort {
/**
*
* @Title: sortMap
* @Description: 对集合内的数据按key的字母顺序做排序
*/
public List<Map.Entry<String, String>> sortMap(final Map<String, String> map) {
final List<Map.Entry<String, String>> infos = new ArrayList<Map.Entry<String, String>>(map.entrySet());

// 重写集合的排序方法:按字母顺序
Collections.sort(infos, new Comparator<Map.Entry<String, String>>() {
@Override
public int compare(final Entry<String, String> o1, final Entry<String, String> o2) {
return (o1.getKey().toString().compareTo(o2.getKey()));
}
});

return infos;
}

public static void main(final String[] args) {
final Map<String, String> map = new HashMap<String, String>();
map.put("charSet", "utf-8");
map.put("merId", "5412");
map.put("acqId", "321");

final List<Map.Entry<String, String>> list = new MapSort().sortMap(map);

for (final Map.Entry<String, String> m : list) {
System.out.println(m.getKey() + ":" + m.getValue());
}

}

}

posted @ 2020-06-22 16:51  QH.Thomas  阅读(558)  评论(0编辑  收藏  举报