如果您使用索引保存第三个数组,并使用sort()与自定义比较器进行排序,则会保留数据。
Java代码示例:
Integer[] idx = new Integer[numbers.length];
for( int i = 0 ; i < idx.length; i++ ) idx[i] = i;
Arrays.sort(idx, new Comparator() {
public int compare(Integer i1, Integer i2) {
return Double.compare(numbers[i1], numbers[i2]);
}
});
// numbers[idx[i]] is the sorted number at index i
// colors[idx[i]] is the sorted color at index i
请注意,您必须使用整数而不是int,否则您不能使用自定义比较器。