List求和
public static void main(String[] args) {
List<BigDecimal> list = new ArrayList<>();
list.add(BigDecimal.valueOf(1.1));
list.add(BigDecimal.valueOf(1.2));
list.add(BigDecimal.valueOf(1.3));
list.add(BigDecimal.valueOf(1.4));
BigDecimal decimal = list.stream().reduce(BigDecimal.ZERO, BigDecimal::add);
System.out.println(decimal);
System.out.println(dateList);
}
Map的value求和
BigDecimal sumMoney = waterMap.values().stream().reduce(BigDecimal.ZERO, BigDecimal::add);
List,double>类型求和
Double sumYield = waterYield.stream().collect(Collectors.summarizingDouble(value -> value)).getSum();
List<>通过某一属性去重
areaRelList=areaRelList.stream().collect(Collectors.collectingAndThen
(Collectors.toCollection(()->new TreeSet<>(Comparator.comparing
(RuralUernumberAreaRel::getAreaName))),ArrayList::new));
将List<Map<String, Integer>>(Map集合也可以)中相同key的value值相加
public static Map<String, Integer> add(List<Map<String, Integer>> list) {
Map<String, Integer> map = new HashMap<String, Integer>();
for (Map<String, Integer> maptemp : list) {
for (Map.Entry<String, Integer> entry : maptemp.entrySet()) {
String key = entry.getKey();
Integer value = entry.getValue();
if (map.containsKey(key)) {
map.put(key, map.get(key) + value);
} else {
map.put(key, value);
}
}
}
return map;
}
前端需要数据类型:
List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
Map<String, Object> map1 = new HashMap<String, Object>();
map1.put("id", 1);
map1.put("value", 2);
list.add(map1);
Map<String, Object> map2 = new HashMap<String, Object>();
map2.put("id", 1);
map2.put("value", 5);
list.add(map2);
Map<String, Object> map3 = new HashMap<String, Object>();
map3.put("id", 2);
map3.put("value", 5);
list.add(map3);
Map<String, Object> map4 = new HashMap<String, Object>();
map4.put("id", 2);
map4.put("value", 4);
list.add(map4);
Map<String, Object> map5 = new HashMap<String, Object>();
map5.put("id", 1);
map5.put("value", 4);
list.add(map5);
for (Map<String, Object> one: list) {
System.out.println(one);
}