我有一个双精度数组,用 Java 编写:arr1
我想要排序。最有可能的第一个选项是实用方法Arrays.sort(double[])
.
我的想法是我想要相同的更改(例如,值index i
与值互换index j
in arr1
) 反映在另一个整数数组中:arr2
(从某种意义上说,相同索引处的值也发生了变化arr2
).
在 Java 中是否有一种简单的方法(技巧)来完成此任务?或者唯一的办法就是自己实现排序算法?
UPDATE:我看到人们建议用一个包含 2 个值的对象数组替换这两个数组(其中一个来自arr1
和一个来自arr2
)。这不会带来一些效率损失吗?换句话说,对对象数组进行排序是否比对基本类型数组(在本例中为双精度类型)进行排序效率较低?
数据是完全静态的。它很大(适合内存)但是是静态的。
一种更简洁的解决方案是创建一个封装两个数据值的类,并且只有一个对象数组,而不是尝试维护排序的并行数组。
(但是为了回答你的问题,Java中没有内置的方法可以做到这一点。实现你自己的排序例程,根据其中一个数组中的值对两个数组进行排序,对于少量数据来说是不可能的可以改变,但很难维持。)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)