最近遇到一个问题,就是如何过滤一个List<Map<String,Object>> 中重复的Map,废话不多说,直接上代码.
//去除重复的Map //cfArraylist 表示重复的 List<Map<String,Object>> //listMap 表示去重复数据后的 List<Map<String,Object>> Map<String, Map> msp = new HashMap<String, Map>(); List<Map<String, Object>> listMap = new ArrayList<Map<String,Object>>(); //把list中的数据转换成msp,去掉同一id值多余数据,保留查找到第一个id值对应的数据 for (int i = 0; i < cfArraylist.size(); i++) { Map map = cfArraylist.get(i); String key = (String)map.get("key"); map.remove("key"); msp.put(key, map); } //把msp再转换成list,就会得到根据某一字段去掉重复的数据的List<Map> Set<String> mspKey = msp.keySet(); for(String key: mspKey){ if(key == null) continue; Map newMap = msp.get(key); newMap.put("f_id", key); listMap.add(newMap); }
时间: 2024-10-27 03:31:06