Arraylist对比较?

时间:2013-03-11 23:03:59

标签: java arraylist

目前我有一个包含多个值对的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");

      }

}

2 个答案:

答案 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)
{
    ...
}