import java.util.*;
/**
* @author soul
* @version version
* @date 2019/12/13 17:12
*/
public class MapSortUtil {
/**
* 对 map根据 key值排序
*
* @param map
*/
public static void mapSortByKey(Map map) {
//传进来一个key的比较器对象来构造treemap
Map<String, String> stu = new TreeMap<>(new MyComparator());
stu.putAll(map);
Set<String> keySet = stu.keySet();
Iterator it = keySet.iterator();
while (it.hasNext()) {
String next = (String) it.next();
System.out.println(next);
}
}
public static void main(String[] args) {
Map<String, String> stu = new HashMap<>();
stu.put("account", "account");
stu.put("bat", "bat");
stu.put("IBM","bat")
mapSortByKey(stu);
}
}
/**
* 内部类
*/
class MyComparator implements Comparator<String> {
@Override
public int compare(String o1, String o2) {
return o1.compareTo(o2);
}
}
https://blog.csdn.net/top_code/article/details/8528954
java8写法:
List<Map.Entry<Integer,Integer>>list = map.entrySet().stream()
.sorted((entry1, entry2) -> entry1.getValue().compareTo(entry2.getValue()))
.collect(Collectors.toList());