我有一种将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字段。