2012-03-04 308 views
1

是否有可能获得二维数组的索引? 假设我有以下阵列java中二维数组的索引

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

而且我想要得到的88指数,该怎么办呢?

+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

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

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 
0

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

int[] indexValue = arr[88]; 

编辑:

对不起,读它再次,如果你的意思是项目88的索引,那么有88个多次出现,所以你需要迭代每个索引并在每个索引中查找匹配,并且还具有存储在某处的数组的大小。如果可能并且不影响性能,请改用ArrayList或Vector并存储Integers对象。

+0

这是一个二维数组,'arr [88]'是一个'int []'。此外,它返回索引88中的元素,而不是元素88的索引[我认为*是OP后面的] – amit

+0

@All ...非常感谢很多人:)我知道了.. – Ravi77

+0

@amit my从之前的编辑说明:) –