目前,我有一个包含多个值对的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");
}
}
发布于 2013-03-11 23:11:52
在for
循环中,您可以递增1以上,例如
for(int i = 0, size = matrix.size( ); i < size ; i = i+2)
{
...
}
发布于 2013-03-11 23:12:24
您希望读取数组中的数字,而不是一个接一个,而是两个接两个。试试这个(这不足以解决你的问题,但这会有帮助):
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>
。
https://stackoverflow.com/questions/15350312
复制