Мне нужно отсортировать двухмерный arrylist java и получить индекс отсортированного элемента. чтобы сделать это, я написал этот код 1. Сначала я сделать общий класс для сортировки элемента массива и получить исходный индекс отсортированных элементов:Сортировка 2d arraylist и получить индекс java
public static int[] Sort_Index(double[] arr){
int[] indices = new int[arr.length];
indices[0] = 0;
for(int i=1;i<arr.length;i++){
int j=i;
for(;j>=1 && arr[j]<arr[j-1];j--){
double temp = arr[j];
arr[j] = arr[j-1];
indices[j]=indices[j-1];
arr[j-1] = temp;
}
indices[j]=i;
}
return indices;//indices of sorted elements
}
я использовал этот цикл, чтобы устроить Список_массивы у
for(int i=0;i<Input.General_Inputs.Num_objectives;i++){
double[] sort_y=new double[y.size()];
for(int row=0;row<y.size();row++)
sort_y[row]=y.get(row).get(Input.General_Inputs.Num+i);
int[] sort_y_index=Sort_Index(sort_y);
}
}
Следующим шагом для меня является использование этого индекса для хранения значения в y arraylist новому arraylist. Но я думаю, что это абсолютно неэффективно, какие-то лучшие идеи?
Спасибо, что ответили, но эта концепция для меня новая, вы можете дать простой пример того, как использовать эту концепцию –