Я пытаюсь получить только разные координаты, означающие, что координаты (6,7)
и (7,6)
совпадают.Как я могу пройти через массив и получить только различные координаты?Поэтому в основном мне нужны все комбинации координат из массива int[][]
.
ArrayList<Coords> coordinateList = new ArrayList<>();
int[][] coordinates = { {56,80}, {32,26}, {47,85}, {3,4}, {10,19}};
public void findDistinct(int[][] coordinates){
for (int i = 0; i < coordinates.length; i++) {
for (int j = 0; j < coordinates.length - 1 ; j++) {
if (i == j) continue;
Coords coords = new Coords(i, j);
if(! coordinateList.contains(coords)){
coordinateList.add(coords);
}
}
}
for(Coords coords: coordinateList){
System.out.println(coords);
}
}
public class Coords{
private final x;
private final y;
public Coords(x,y) {
this.y = y;
this.x = x;
}
@Override
public String toString() {
return "Coords{" +
"x=" + x +
", y=" + y +
'}';
}
}
Вывод, который я хотел бы получить:
Coords{x=0, x=1}
Coords{x=0, x=2}
Coords{x=0, x=3}
Coords{x=0, x=4}
Coords{x=1, x=2}
Coords{x=1, x=3}
Coords{x=1, x=4}
Coords{x=2, x=3}
Coords{x=2, x=4}
...
Но на данный момент я получаю всевозможных вариаций координат.Как я могу изменить код, чтобы получить нужный мне результат?