zoukankan      html  css  js  c++  java
  • List<Map>中根据某个属性去重,不重复的值则覆盖null

     /**
         *     根据map中的某个key 去除List中重复的map,如果值不为null,则覆盖空值
         * @author  shijing
         * @param list
         * @param mapKey
         * @return
         */
        public  List<Map<String, String>> removeRepeatMapByKey(List<Map<String, String>> 
               list){
            if (list.size()<=0) return null;
          //用于保存合并后的List数据
            List<Map<String,String>> listCopy = new ArrayList<Map<String,String>>();
    
            //遍历原始List
            for (Map<String, String> userInfo : list) {
                String time = (String) userInfo.get("time");
                String left = null;
                String middle =null;
                String right = null;
                if(userInfo.get("left")!=null) {
                    left = (String) userInfo.get("left");
                }
                if(userInfo.get("middle")!=null) {
                    middle = (String) userInfo.get("middle");
                }
                if(userInfo.get("right")!=null) {
                    right = (String) userInfo.get("right");
                }
                int j = 0;
                //遍历合并后的List
                for (Map<String, String> userInfoCopy : listCopy) {
                    String timeCopy = (String) userInfoCopy.get("time");
                    //根据Map的Key判断,如果已经存在,则把ItemName加入进去并且用逗号隔开
                    if(time.equals(timeCopy)) {
                        if(left!=null) {
                            userInfoCopy.put("left", left);
                        }
                        if(middle!=null) {
                            userInfoCopy.put("middle", middle);
                        }
                        if(right!=null) {
                            userInfoCopy.put("right", right);
                        }
                        j++;
                    }
                }
                //如果不存在,则把本条数据直接插入
                if(j == 0) {
                    listCopy.add(userInfo);
                }
            }
            return listCopy;
        }
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    基本HAL库操作函数整理
    oled(iic协议)
    Uart串口中断收发
    博主回来啦
    博主的冒泡1
    AFO

    起床困难综合症
    费解的开关
    数独
  • 原文地址:https://www.cnblogs.com/KdeS/p/14307001.html
Copyright © 2011-2022 走看看