2012-03-04 458 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從之前的編輯說明:) –