今天要写一个工具类,对MAP进行排序。值不确定会是什么类型。所以就用泛型了,本来打算偷个懒直接网上找的,结果就是网上没有找到。
只能自己写一个了。
package cn.sanshu; import java.util.HashMap; import java.util.LinkedHashMap; import java.util.Map; import java.util.stream.Collectors; import com.alibaba.fastjson.JSONObject; public class MapUtil { public static <T> Map<String,T> sort(Map<String,T> t){ Map<String,T> result = t.entrySet().stream() .sorted(Map.Entry.comparingByKey()) .collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue, (oldValue, newValue) -> oldValue, LinkedHashMap::new)); return result; } public static void main(String[] args) { Map<String,String> testMap = new HashMap<String, String>(); testMap.put("ccc", "cccc"); testMap.put("bbb", "bbbb"); testMap.put("aaa", "aaaa"); testMap.put("ddd", "dddd"); testMap = sort(testMap); System.out.println(JSONObject.toJSONString(testMap)); } }
最总输出:
{"aaa":"aaaa","bbb":"bbbb","ccc":"cccc","ddd":"dddd"}