是否可以获取2D数组的索引? 假设我有以下数组
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 :(得分: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对象。