java中的2D数组索引

时间:2012-03-04 12:50:37

标签: java arrays

是否可以获取2D数组的索引? 假设我有以下数组

int[][] arr = {{41, 44, 51, 71, 63, 1}, {7, 88, 31, 95, 9, 6}, {88, 99, 6, 5, 77, 4}};

我想获得88的指数,怎么做?

3 个答案:

答案 0 :(得分:3)

for (int i = 0 ; i < size; i++)
    for(int j = 0 ; j < size ; j++)
    {
         if ( arr[i][j] == 88)
         {
              `save this 2 indexes`
              break;
         }
    }

答案 1 :(得分:2)

如果它们没有排序,你将必须循环遍历所有索引[使用双循环]并检查它是否匹配。

int[][] arr = {{41, 44, 51, 71, 63, 1}, {7, 88, 31, 95, 9, 6}, {88, 99, 6, 5, 77, 4}};
for (int i = 0; i < arr.length; i++) { 
    for (int j = 0; j < arr[i].length; j++) { 
        if (arr[i][j] == 88) { 
            System.out.println("i=" + i + " j=" + j);
        }
    }
}

将导致:

i=1 j=1
i=2 j=0

答案 2 :(得分:0)

这是一个原始数组,所以它应该可以直接访问索引:

int[] indexValue = arr[88];

编辑:

很抱歉,再次阅读,如果你的意思是项目88的索引然后有多次出现88,所以你需要迭代每个索引并在每个索引中查找匹配,并且还有数组的大小存储在某个地方。如果可能并且不影响性能,请使用ArrayList或Vector并存储Integers对象。