/**
* @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;
}