package com.dky.calculate; import com.dky.utils.result.MatchedDevice; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; public class CalC { public static List> getC(List>>> list) { List> maps = new ArrayList<>(); list.parallelStream().forEach(stringListMap -> { // 区分热泵、电锅炉 stringListMap.forEach((k,v)->{ // 循环遍历各个方案 final Double[] maxPower = {0.0}; v.parallelStream().forEach((plan)->{ Double power = 0.0; for (MatchedDevice device : plan){ power = power + (device.getCount() * device.getDeviceHeatScene().getDevPower()) ; } if (power >= maxPower[0]){ maxPower[0] = power; } }); Map map = new HashMap<>(); map.put(k, maxPower[0]); maps.add(map); }); }); return maps; } public static Double getC1(List> args) { // 循环遍历各个方案 final Double[] maxPower = {-100.0}; args.parallelStream().forEach(plan -> { Double power = 0.0; for (MatchedDevice device : plan){ power = power + (device.getCount() * device.getDeviceHeatScene().getDevPower()) ; } if (power >= maxPower[0]){ maxPower[0] = power; } }); return maxPower[0]; } }