现在我有两个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来实现