/**
* @Description: 合并两个list<map>,并将userId相同的其它属性合并
* @Title: mergeList
* @param: @return
* @return: List<Map<String,Object>>
* @throws
*/
public static List<Map<String,Object>> mergeList(){
List<Map<String,Object>> list1 = new ArrayList<>();
list1.add(UtilMisc.toMap("userId", "100001","userName","唐僧"));
list1.add(UtilMisc.toMap("userId", "100002","userName","八戒"));
list1.add(UtilMisc.toMap("userId", "100003","userName","悟空"));
list1.add(UtilMisc.toMap("userId", "100004","userName","沙僧"));
List<Map<String,Object>> list2 = new ArrayList<>();
list2.add(UtilMisc.toMap("userId", "100001","gender","男","age",20));
list2.add(UtilMisc.toMap("userId", "100002","gender","雄","age",1000));
list2.add(UtilMisc.toMap("userId", "100003","gender","雄","age",600));
list2.add(UtilMisc.toMap("userId", "100004","gender","男","age",800));
List<Map<String, Object>> list = list1.stream().map(m -> {
list2.stream().filter(m2-> Objects.equals(m.get("userId"),m2.get("userId"))).forEach(m2-> {
m.put("gender",m2.get("gender"));
m.put("age",m2.get("age"));
});
return m;
}).collect(Collectors.toList());
return list;
}
————————————————
版权声明:本文为CSDN博主「炎升」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_40482816/article/details/117332940
java8 合并两个 list<map>, 并将userId 相同的所有属性合并到一个map中
最新推荐文章于 2024-03-12 15:53:17 发布