我正试图在 Java 中找到一个解决方案来执行以下操作。
int [] keys = new int[]{7,9,4,2,8,5,6,0}; // not necessarily a continuous series
double [] vals = new double[]{10,31,20,22,21,30,33,34}; // same length as keys<br/>
我需要对 keys
(从低到高)进行排序,并按该顺序排列相应的 vals
。例如,这种情况的输出将是,
sorted keys: 0, 2, 4, 5, 6, 7, 8, 9
ordered vals: 34, 22, 20, 33, 10, 30, 21, 31
我不能使用映射,因为在某些计算中我需要访问键和值,给出索引,如 keys[i]
或 vals[j]
。
提前致谢
最佳答案
创建一个包含字段键和值的类。然后实现 Comparable 接口(interface)。并覆盖 compareTo 方法。将您的对象存储在列表中并按如下方式排序:Collections.sort(list)
关于java - Java中根据索引数组对数组进行排序(类似于C#的Array.Sort()),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18492316/