提问一个关于list<map<>>集合的问题

现在我有两个list<map<>>集合,这两个集合中的字段都是一样的的,只有值不一样。现在需要对每一个字段的值进行相减然后放入到一个新的list中,需要怎么做,最好有例子可以借鉴

package exception;

import java.util.*;

public class Score {
    public static void main(String[] args) {
        List<Map<String, Integer>> list = new ArrayList(1) {{
            add(new HashMap(1) {{
                put("num", 1);
            }});
        }};
        List<Map<String, Integer>> list2 = new ArrayList(1) {{
            add(new HashMap(1) {{
                put("num", 1);
            }});
        }};
        List<Object> list1 = new ArrayList<>();
        for (int i = 0; i < list.size(); i++) {
            Map<String, Integer> map = list.get(i);
            Map<String, Integer> map1 = list2.get(i);
            Iterator<String> iterator = map.keySet().iterator();
            while (iterator.hasNext()) {
                String obj = iterator.next().toString();
                Integer integer = map.get(obj);
                map1.put(obj, map1.get(obj) + integer);
            }
            list1.add(map1);
        }
        System.out.println(list1);
    }
}

 

map value是纯数字? list长度都一样吗 这种好做一点 双重循环 然后使用map的getOrDefault来实现