だからインデックスソート使えって言ってんだろ!

double[] a = {2.0, 1.2, 8.5, 1.2};
int[] b = {1, 2, 3, 4};

Integer[] idx = new Integer[a.length];
for (int i = 0; i < idx.length; i++) idx[i] = i;
Arrays.sort(idx, (u, v) -> Double.compare(a[u], a[v]));

for (int i : idx) {
System.out.printf("%d %f %d\n", i, a[i], b[i]);
}


http://ideone.com/nsl2HN