java - 如何根据Arraylist整数的值循环
问题描述
我有一个 arraylist 整数,其中包含这样的行数:
[2, 9, 16, 23, 30, 37, 44, 51, 58, 65, 72, 79]
现在,我想根据 arraylist 中的数字设置特定行的颜色,如下所示:
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 行的颜色。行的其余部分不受影响。我不知道如何为循环数组列表做增量。帮我
解决方案
你迭代不正确。您初始化p
为SA.get(0)
,即2
。然后将其更改为SA.get(p)
(ie SA.get(2)
),即16
. 然后退出循环,因为16 > SA.size() + 1
.
尝试 :
for (int p : SA) {
...
}
或者
for (int x = 0; x < SA.length; x++) {
int p = SA.get(x);
...
}
推荐阅读
- proxy - 根据请求路径等特定条件更改响应
- visual-studio-code - 如何更改 LF 的可视代码标准 CRLF?
- python - 具有调用和最小化其他函数的函数的 Python 类
- firebase-realtime-database - 在 Next JS / Vercel 中查询 Firebase 实时数据库时出现 504 超时
- php - 使用 php 显示来自 ftp 服务器的图像
- pdf - GhostScript 也保存原始文件
- javascript - Flow - 类型安全的动作
- python - Python3 os.urandom() 用于密码盐
- jupyter - 将 jupyter notebook 用于 pyQGIS 时设置椭圆返回 False
- python - 我的 if/else 函数的行为似乎不像它应该的那样?