配列をソートし、ソートされていない配列にリンクされたインデックスを取得する必要があります。問題は、ソートされていない配列に重複したエントリが含まれている場合、つまり[1,1,1,2,2,]
、これらのエントリのインデックスが同じであるということです。例[3,5,5,3,3,]
では、インデックスは[0,1,1,0,0]
. しかし、次の index を取得する必要があります[0,3,4,1,2]
。これを行う方法?
ArrayList<Double> nfit = new ArrayList<Double>();
ArrayList<Double> nfit_copy = new ArrayList<Double>(nfit);
// Fill nfit
Collections.sort(nfit);
int[] ind = new int[nfit.size()];
for (int n = 0; n < nfit.size(); n++){
ind[n] = nfit_copy.indexOf(nfit.get(n));
}