zoukankan      html  css  js  c++  java
  • Map工具类,排序及转对象

    import com.alibaba.fastjson.JSON;
    import com.google.common.collect.Maps;
    
    import java.util.Map;
    
    /**
     * @ClassName MapUtil
     * @Author ZhangRF
     * @CreateDate 2020/08/12
     * @Decription
     */
    public class MapUtil {
        /**
         * 根据map的key排序
         *
         * @param map    待排序的map
         * @param isDesc 是否降序,true:降序,false:升序
         * @return 排序好的map
         * @author zero 2019/04/08
         */
        public static <K extends Comparable<? super K>, V> Map<K, V> sortByKey(Map<K, V> map, boolean isDesc) {
            Map<K, V> result = Maps.newLinkedHashMap();
            if (isDesc) {
                map.entrySet().stream().sorted(Map.Entry.<K, V>comparingByKey().reversed())
                        .forEachOrdered(e -> result.put(e.getKey(), e.getValue()));
            } else {
                map.entrySet().stream().sorted(Map.Entry.<K, V>comparingByKey())
                        .forEachOrdered(e -> result.put(e.getKey(), e.getValue()));
            }
            return result;
        }
    
        /**
         * 根据map的value排序
         *
         * @param map    待排序的map
         * @param isDesc 是否降序,true:降序,false:升序
         * @return 排序好的map
         * @author zero 2019/04/08
         */
        public static <K, V extends Comparable<? super V>> Map<K, V> sortByValue(Map<K, V> map, boolean isDesc) {
            Map<K, V> result = Maps.newLinkedHashMap();
            if (isDesc) {
                map.entrySet().stream().sorted(Map.Entry.<K, V>comparingByValue().reversed())
                        .forEach(e -> result.put(e.getKey(), e.getValue()));
            } else {
                map.entrySet().stream().sorted(Map.Entry.<K, V>comparingByValue())
                        .forEachOrdered(e -> result.put(e.getKey(), e.getValue()));
            }
            return result;
        }
    
        /**
         * map转对象
         *
         * @param map
         * @param clazz
         * @param <T>
         * @return
         */
        public static <T> T parse(Map<?, ?> map, Class<T> clazz) {
            return JSON.parseObject(JSON.toJSONString(map), clazz);
        }
    }
  • 相关阅读:
    将html转换成image图片png格式
    maven 发布打包部署 命令
    javap 指令集
    国内maven仓库地址
    五行大义
    oracle
    【Centos linux系统】命令行(静默)安装oracle 11gR2
    windows安装mysql-5.7压缩版详细教程
    k8s入门系列之扩展组件(一)DNS安装篇
    k8s入门系列之集群安装篇
  • 原文地址:https://www.cnblogs.com/zhangrongfei/p/15667269.html
Copyright © 2011-2022 走看看