遍历 ArrayList 行值的最简单方法是什么?
例如我有两个ArrayList
:
ArrayList<Object> main = new ArrayList<Object>();
ArrayList<Object> row = new ArrayList<Object>();
我使用两个 for
将值添加到 main 中。首先我添加行,然后当行迭代结束时,我将它添加到 main,然后重复另一行等。例如:
for(int i=0; i < somearray.length; i++){
for(int j=0; j < somearray2.length; j++){
if(somearray2[j] == true)
row.add(somearray2[j]);
}
main.add(row);
}
所以现在我得到的 ArrayList 充满了我需要的行。但稍后我需要遍历行值,而不仅仅是 main
ArrayList
中的行本身。我怎样才能做到这一点?
因为我只看到方法:
main.get(index),让我得到一行,但仅此而已。
最佳答案
因此,根据您的描述,main
不是对象的列表,而是列表的列表。所以应该声明为
List<List<Object>> main = new ArrayList<>();
现在迭代变得很明显了:
for (List<Object> row : main) {
for (Object element : row) {
// do what you want here
}
}
这具有使您的代码类型安全的额外优势:您将无法无意中添加除 List<Object>
之外的任何内容。在主列表中。
关于Java - 遍历 ArrayList 行(列)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19890381/