我有一种将2d点添加到列表中的方法,但我将它们定为2d格式,例如:[3,2]。现在,它只给出[3,0,1,3]这是所有不同的点,但它们只是这些点的一半。这就是我的初始化列表的样子:List<Integer> neighbors = new ArrayList<Integer>();。这是输出3,0,1,3。它必须是[3,1],[0,1],依此类推。我怎样才能解决这个问题?这是我的代码:

public List<Integer> getNeighbors(int[][] boards, int x, int y) {
    //the list of neighbor nodes
    ArrayList<Point> neighbors = new ArrayList<Point>();
    if (x > 0){
        neighbors.add(boards[x-1][ y]);
    }
    if (y > 0){
        neighbors.add(boards[x][y-1]);
    }
    if (x < q){
        neighbors.add(boards[x+1][y]);
    }
    if (y < q){
        neighbors.add(boards[x][y+1]);
    }
    return neighbors;
}

最佳答案

无论使用
List<Point> neighbors = ArrayList<Point>()
或使用
ArrayList<YourClass>其中,YourClass具有两个int字段。

08-04 16:13