如何根据Arraylist整数的值循环

时间:2018-11-18 09:49:32

标签: java apache-poi

我有一个arraylist整数,其中包含这样的行数:

[2, 9, 16, 23, 30, 37, 44, 51, 58, 65, 72, 79]

现在,我想基于数组列表中的数字在特定行上设置颜色,如下所示:

      for (int rowNum = 0; rowNum < sheet.getLastRowNum(); rowNum++) {
            for (int p = SA.get(0); p < SA.size() + 1; p = SA.get(p)) {
                XSSFRow SATURDAY = sheet.getRow(p);
                for (int i = 0; i < 4; i++) {
                    if (SATURDAY.getCell(i) != null) {
                        SATURDAY.getCell(i).setCellStyle(greycolor);
                    } else {
                        Cell cell1 = SATURDAY.createCell(i);
                        cell1.setCellStyle(greycolor);
                    }
                }
            }
        }

问题是,当我运行类文件时,它仅设置第2行和第16行的颜色。其余行不受影响。我不知道如何循环数组列表的增量。帮帮我

1 个答案:

答案 0 :(得分:1)

您的迭代不正确。 您将p初始化为SA.get(0)的{​​{1}}。然后,将其更改为2的{​​{1}}(即SA.get(p))。然后从SA.get(2)开始退出循环。

尝试:

16

16 > SA.size() + 1