J'essaie d'utiliser Comparator pour garder trace des index de valeur de tableau après les avoir triés. J'ai vu la mise en œuvre ailleurs, mais j'ai du mal à la faire fonctionner en synergie avec mon code.Utilisation du comparateur pour trier le tableau et conserver la position de l'index
J'ai rempli mon tableau 2d avec des valeurs aléatoires à [X] [0] et [X] [1] avec mes valeurs d'index.
import java.util.Arrays;
import java.util.Comparator;
public class ComparatorTest{
static double testArray[][] = new double [10][10];
public static void main(String[] args) {
fillArray();
setIndexVals();
}
public static void fillArray(){
for(int row = 0; row < 10; row++){
testArray[row][0] = Math.random();
System.out.println(testArray[row][0]);
}
}
public static void setIndexVals(){
for (int row = 0; row < testArray.length; row++){
testArray[row][1]= row + 1;
System.out.println(testArray[row][1]);
}
}
public static void sortArray(){
Arrays.sort(testArray, new Comparator<int[]>(){
public int compare(double[] value, double[] index){
return value[0]-index[0];
}
});
}
}
Qu'attendez-vous/voulez-vous que votre programme fasse? –
Je souhaite que les valeurs soient triées par ordre croissant et que leurs valeurs d'index d'origine soient conservées à côté d'elles. – AnthonyJ
Est-ce que le problème a à voir avec la façon dont vous avez comparé les doubles comme la façon dont je l'ai abordé dans ma réponse ou ne fonctionne toujours pas? –