public static ArrayList<ArrayList<HSSFCell>> newTogether(ArrayList<ArrayList<HSSFCell>> sheetData) {
ArrayList<ArrayList<HSSFCell>> temporary = new ArrayList<ArrayList<HSSFCell>>();
for(int i = 0; i < sheetData.size(); i++) {
ArrayList<HSSFCell> list = sheetData.get(i);
if (list.get(3).getCellType() == Cell.CELL_TYPE_NUMERIC) {
if(Integer.parseInt(list.get(3).getStringCellValue()) > 100) {
temporary.add(list);
sheetData.remove(i);
i--;
}
}
}
for(int i = 0; i < sheetData.size(); i++) {
ArrayList<HSSFCell> list = sheetData.get(i);
temporary.add(list);
}
return temporary;
}
我想用我的代码做的是让2D ArrayList取出任何大于100的数字并将它们放在ArrayList的开头,同时保留剩余元素的顺序。但是,此代码只返回原始顺序的ArrayList,如果我向println
添加if
,我什么也得不到。有人能指出我做错了什么吗?
答案 0 :(得分:0)
您是否尝试过将println放在第一个之前if if检查getStringCellValue()返回的内容?
顺便说一句。由于根据API文档保证Collections.sort稳定,您可以使用它。应该比你的方式更快。</ p>
这可能看起来像这样
[
'attached' => [1, 2, 3],
'detached' => [4, 5],
'updated' => [6]
]