package cn.com.test;
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 MapUtils {
public static List<Map.Entry<String, Integer>> sortMapValue(
Map<String, Integer> data) {
// 将Map转化为List集合,List采用ArrayList
List<Map.Entry<String, Integer>> list_Data = new ArrayList<Map.Entry<String, Integer>>(
data.entrySet());
// 通过Collections.sort(List I,Comparator c)方法进行排序
Collections.sort(list_Data,
new Comparator<Map.Entry<String, Integer>>() {
@Override
public int compare(Entry<String, Integer> o1,
Entry<String, Integer> o2) {
return (o2.getValue() - o1.getValue());
}
});
return list_Data;
}
public static List<Map.Entry<String, Integer>> sortMapKey(
Map<String, Integer> data) {
// 将Map转化为List集合,List采用ArrayList
List<Map.Entry<String, Integer>> list_Data = new ArrayList<Map.Entry<String, Integer>>(
data.entrySet());
// 通过Collections.sort(List I,Comparator c)方法进行排序
Collections.sort(list_Data,
new Comparator<Map.Entry<String, Integer>>() {
@Override
public int compare(Entry<String, Integer> o1,
Entry<String, Integer> o2) {
return (o1.getKey().compareTo(o2.getKey()));
}
});
return list_Data;
}
public static void main(String[] args) {
Map<String, Integer> map = new HashMap<String, Integer>();
map.put("0003", 10);
map.put("0002", 1);
map.put("0004", 6);
map.put("0001", 18);
System.out.println("原数据:" + map);
//{0004=6, 0002=1, 0003=10, 0001=18}
System.out.println("按照key排序后: " + sortMapKey(map));
//[0001=18, 0002=1, 0003=10, 0004=6]
System.out.println("按照value排序后: " + sortMapValue(map));
//[0001=18, 0003=10, 0004=6, 0002=1]
}
}
Map根据key/value排序
最新推荐文章于 2019-08-27 10:38:10 发布