目前我有一个包含多个值对的arrayList。我正在尝试以矩阵格式打印它们,如下例所示。每个奇数是矩阵中的位置,下面的数字是值。位置在计数器中上升,如果数组中不存在数字,则将0放置在其位置。有点难以解释。
arraylist contains (1, 10, 2, 90, 4, 9, 7, 2, 11, 4, 14, 45)
输出:
0 10 90 0
9 0 0 2
0 0 0 4
0 0 45 0
我试过了:
int position, value;
int size = 16;
for (int i = 0 ; i < size ; i += 2) {
position = matrix.get(i);
if(position == i){
value = matrix.get(i+1);
System.out.print(value);
} else {
System.out.print("0");
}
}
答案 0 :(得分:1)
您希望不是一个接一个地读取数组中的数字,而是两个接一个地读取数字。试试这个(这还不足以解决你的问题,但这会有所帮助):
for (int i = 0 ; i < size ; i += 2) {
int position = matrix.get(i);
int value = matrix.get(i+1);
... // Deal with them
}
要使用正确的值填充矩阵,您应该使用Map<Integer, Integer>
。
答案 1 :(得分:0)
您可以在for
循环中增加1个以上,例如
for(int i = 0, size = matrix.size( ); i < size ; i = i+2)
{
...
}