如何将地图中的月度值与新地图中的年度值相加?

时间:2019-06-24 09:46:17

标签: java excel dictionary hashmap

在我的地图中,我每月保存一个Excel文件中的值。现在,我想创建另一个地图,其中所有月度值都添加为年值。

我已经创建了一个全局变量。我试图将每月值存储在此变量中。但是我的尝试没有用。

在arryList中,包含月度值和年值的地图应存储一次。

这是我当前的代码,该代码从Excel文件中提取数据并将其传输到地图:

public List getResultFromExcelFile() throws Exception {
        ArrayList resultMonthly = new ArrayList<>();

        int row = 526;
        // monthly
        for (int i = 32; i < 32 + 12; i++) {
            if (getWorkBook().getNumber(3, i) != 0) {
                for (int k = 0; k < 461; k++) {
                    HashMap<String, Object> resultSetMonthly = new HashMap<>();

                    if (getWorkBook().getNumber(row, i) != 0) {
                        resultSetMonthly.put("db-nr", getWorkBook().getNumber(row, 1));
                        resultSetMonthly.put("name", getWorkBook().getText(row, 2));
                        resultSetMonthly.put("mandantKagId", getWorkBook().getNumber(row, 3));
                        resultSetMonthly.put("period", getWorkBook().getNumber(4, i));
                        resultSetMonthly.put("amount", getWorkBook().getNumber(row, i));

                        resultMonthly.add(resultSetMonthly);
                    }
                    row++;
                }
                row = 526;
            }
        }
        return resultMonthly;
    }

我尝试过这样的事情:

    private Map sumMonthlyResultToYearlyResult(List resultMonthly) {
        Map<String, Object> yearlyResult = new HashMap<>();
        Map monthlyResult = (Map) resultMonthly.get(0);
        double sumAmount = 0;

        for (int i = 0; i < monthlyResult.size(); i++) {
            double monthlyAmount = (double) monthlyResult.get("amount");
            sumAmount + monthlyAmount;
            ...
            ...
            ...
        }
        return yearlyResult;
    }

谁能告诉我如何将月度值加到年度值上?也很高兴使用Java流API

0 个答案:

没有答案