map<String,Object> map1 = new HashMap<>();
map1.put("a_id",1);
map1.put("in_num",10);
map<String,Object> map2 = new HashMap<>();
map1.put("a_id",3);
map1.put("in_num",10);
map<String,Object> map3 = new HashMap<>();
map1.put("a_id",4);
map1.put("in_num",10);
List<Map<String,Object>> list1 = new ArrayList<>();
list1.add(map1);
list1.add(map2);
list1.add(map3);
map<String,Object> map4 = new HashMap<>();
map1.put("a_id",1);
map1.put("out_num",20);
map<String,Object> map5 = new HashMap<>();
map1.put("a_id",2);
map1.put("out_num",20);
map<String,Object> map6 = new HashMap<>();
map1.put("a_id",3);
map1.put("out_num",20);
List<Map<String,Object>> list2 = new ArrayList<>();
list2.add(map4);
list2.add(map5);
list2.add(map6);
最后合并的list中map,包含a_id,in_num,out_num
,两个list中相同的a_id
合并,不同的补0
相当于结果长度为4
a_id in_num out_num
第一行 1 10 20
第二行 2 0 20
第三行 3 10 20
第四行 4 10 0
有点长但还算完整