java - Java中根据索引数组对数组进行排序(类似于C#的Array.Sort())

标签 java arrays sorting indexing

我正试图在 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/

相关文章:

Java中断或退出线程

bash - 如何仅获取 bash 中特定列的重复行

java - 当没有可用连接时显示 toast 错误并阻止显示 webview

php - 将数组的顺序插入数据库

Javascript通过其他值从多维数组对象中获取值

arrays - 如何在vba中对数组中的日期进行排序?

r - 如何根据满足的条件和时间顺序对 r 中的数据进行排序?

c - 在 C 中使用合并排序或快速排序对非常长的链表进行排序

java - 修复 Firebase 实时数据库问题

java - Netbeans 8.0 中未设置 libs.CopyLibs.classpath 属性