Я пытаюсь создать метод, который удаляет дубликаты из 2d массива. внешний массив содержит индексы точек, а внутренний массив содержит их координаты. Похоже, я должен использовать arraylist для удаления элементов, не заканчивая нулевыми значениями в массиве. Затем я хотел бы преобразовать массив обратно в двумерный массив, чтобы вернуть его в требуемом формате. Проблема в том, что arraylsit содержит массив объектов, поэтому я не могу привести его в массив, предназначенный для операций с плавающей точкой. какой правильный синтаксис для фильтрации чисел из моего списка массивов. мой код выглядит следующим образом:
public class rem_duplicates {
public float [][] rem_geo_duplicates(float a[][]){
ArrayList<float[]> al = new ArrayList<float[]>();
float no_points = a.length;
int count = 0;
for (int i = 0; i < no_points-1; i++){
if((a[i][0] == a[i+1][0])&&(a[i][1] == a[i+1][1])){
a[i] = null;
count ++;
}
for (int j = 0; j < no_points; j++){
if (a[j] != null){
al.add(a[j]);
}
}
//how do i get the arraylist 'al' into this array b[][]?
float b[][] = new float [a.length-count][3];
b = al.toArray();
}
}
return b
}