返回2D数组的索引

时间:2014-05-09 15:24:33

标签: java arrays search methods multidimensional-array

我正在编写一种在2D数组中搜索值的方法。找到值后,我想返回值的索引。有没有办法返回值的索引而不返回另一个数组?

2 个答案:

答案 0 :(得分:2)

如果你真的不想返回一个数组,也不想返回两个整数的字符串,你可以创建一个包含两个属性(x,y)的类,并返回该类的实例。但我不明白你为什么会这样做

课程看起来像:

public class MyIndex{
    int x;
    int y;

    public MyIndex(int x, int y){
       this.x=x;
       this.y=y;
    }

    public int getX() {return x;}
    public void setX(int x) {this.x = x;}
    public int getY() {return y;}
    public void setY(int y) {this.y = y;}
}

或者使用java.awt包中的Point类

答案 1 :(得分:-1)

您没有其他解决方案,只能返回两个索引:

public static int[] find(int a[][], int val) {
    for(int i = 0 ; i < a.length ; ++i) {
        for(int j = 0 ; j < a[i].length ; ++j) {
            if(a[i][j] == val) {
                return new int[] {i, j};
            }
        }
    }
    return null;
}