如何过滤List<Map<String,Object>> 中的重复Map

最近遇到一个问题,就是如何过滤一个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

如何过滤List<Map<String,Object>> 中的重复Map的相关文章

List&lt;Map&lt;String, Object&gt; 中多个条件查询

在项目中,我们都尽量通过各层之间松耦合来降低故障的传递性,使各层除了部分业务有关联性之外,程序运行互不干扰.这时,页面应用和数据库之间的无直接联系的,而是通过后台应用的接口来获取数据,即在结构为List<Map<String, Object> 查询数据,又不想是满屏的if else语句,所以找一个比较好的实现方法,这里记录下. 1 List<Map<String,Object>> resultList=new ArrayList<>(); 2 3 fo

对List&lt;Map&lt;String,Object&gt;&gt; 进行排序

1 package lltse.base.collectiondemo; 2 3 import java.util.ArrayList; 4 import java.util.Collections; 5 import java.util.Comparator; 6 import java.util.HashMap; 7 import java.util.List; 8 import java.util.Map; 9 import java.util.Random; 10 11 12 publi

List&lt;Map&lt;String, Object&gt;&gt;相关

2016年8月6日13:53:00 --------------------------- List<Map<String, Object>> List集合新增列 则需要: List<Map<String, Object>> list_new = new ArrayList<Map<String, Object>>(); //新建list集合对象,用于存储新的数据 for (Map<String, Object> map

关于List&lt;Map&lt;String,Object&gt;&gt;集合 的按大小排序

今天写项目,突然遇到了一个问题.程序要求我把一个List<Map<String,Object>>集合按大小排序,卧槽,当时我就懵逼了~        经过研究,功夫不负有心人啊,叼叼哒的我肿么把这个排序搞定了,回头发现,代码也是叼叼哒~醉了醉了~        废话不多说,直接上代码://这是你自己用来接受查询出来的数据的集合. List<Map<String,Object>> listMap1 = new LinkedList<Map<Stri

添加,删除List&lt;Map&lt;String, Object&gt;&gt;元素

添加 //初始化 List<Map<String, Object>> products = new ArrayList<Map<String,Object>>(); //也可以这样初始化List<Map<String, Object>> products = null //初始Map<String,Object> Map<String,Object> product01 = null; product01.pu

今天学会了对List&lt;Map&lt;String,Object&gt;&gt;的排序

Collections.sort(dyList, new Comparator<Map<String, Object>>() { public int compare(Map<String, Object> arg0, Map<String, Object> arg1) { int map1value=0; int map2value=0; if(arg0.get("getlicenseDate")!=null&&!arg

将Map&lt;String, List&lt;Map&lt;String,Object&gt;&gt;&gt;进行排序

首先我贴上我的代码,刚开始我也不知道怎么排序还写了一些方法,最后请教群里的大神解决了 public Map<String, List<Map<String,Object>>> getGrowList(String id){ List<Map<String, Object>> growList = mentDao.getGrowList(id); SortedMap<String, List<Map<String,Object&g

将List&lt;Map&lt;String, Object&gt;&gt;排序,升序、降序

import java.net.SocketException; import java.net.UnknownHostException; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; public class Ma

javaBean与Map&lt;String,Object&gt;互转

1. 为什么要实现javaBean与Map<String,Object>相互转换? 用过spring的都知道spring的MVC框架中有一个BaseCommandController对象,利用这个对象我们就可以很方便的将从客户端传递过来的参数封装到一个JavaBean对象中去,而不需要我们request.getParameter("name");bean.setName(name);了,从而也简化了不少的工作.如果大家用过BeanUtils.populate的话,就知道,这