我有一个方法可以在列表中添加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;
}
答案 0 :(得分:5)
要么使用
List<Point> neighbors = ArrayList<Point>()
或使用
ArrayList<YourClass>
其中YourClass有两个int字段。