У меня есть метод, который добавляет 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.