当前位置: 首页 > 面试题库 >

同时排序多个数组

张权
2023-03-14
问题内容

所以我正在制作一个需要处理多个数组的程序。有没有办法对所有这些数组进行排序以反映一个数组的排序?这些值在所有三个数组中都位于相同的索引位置,需要在排序后保持相同的索引值

例:

我有三个数组:

String[] distance = [1,3,6,7,9];
String[] name = [Joel, John, Joe, Jill, Jane]
String[] values = [1.5,2.3,5.6,7.1,6.5];

有什么方法可以对距离数组进行排序,然后将该排序反映给其他数组。因此,如果按名称排序并且Jane变为0,则其他数组中相同位置的其他值也将移至0。我该怎么办?


问题答案:

更好/面向对象的方法可能是让一个对象容纳3个字段中的每个字段,并使它可在所需的任何字段上排序。

public static class MyObject implements Comparable<MyObject> {

    public int distance;
    public String name;
    public float value;


    // Replace this with whichever field is needed
    @Override
    public int compareTo(MyObject o) {
        // If it's the String
        return this.name.compareTo(o.name);
        // If it's one of the values
        return this.distance - o.distance;
    }
}


 类似资料:
  • 介绍 考虑以下示例: 使用运行以升序打印数组中的排序数字: 问题 考虑两个(一般来说,对于< code>N)对应数组< code>a和< code>b的扩展情况 以及“同时”排序所有数组的问题..为了实现这一点,我需要对数组< code>a进行排序,还需要获取排序的索引。对于这个简单的例子,指数由下式给出 有了这些索引,我就可以根据数组 的排序结果打印出排序后的 数组。例如: 将打印排序的数组。。

  • 问题内容: 说我有两个ArrayLists: 如果我这样做:Arrays.sort(num),那么我有: 有什么办法可以对num进行排序,也可以在名称中反映出来,以便最终得到: ?请帮帮我。我想到了比较器和对象,但几乎一无所知。 问题答案: 您应该以某种方式将字段和字段 关联 到一个类中,然后获得该特定类的实例列表。在此类中,提供一种检查数值的方法。如果您对实例进行排序,则名称字段也将按照您想要的

  • 问题内容: 从这个,我们知道要解决两个排序的数组的交叉方法。那么如何获得多个排序数组的交集呢? 基于两个排序数组的答案,我们可以将其应用于多个数组。这是代码 有更好的解决方法吗? 更新1 从这两个主题1和2看来,这是一种更有效的方法。 更新2 为了提高性能,也许可以使用代替我上面的代码。变量保存所有向量的当前最大值。因此,只需将根值与进行比较,如果它们相同,则可以将此元素放入交集列表。 问题答案:

  • 我有一个数组的值。我用一个条件对它进行排序,以保持某些项目在顶部。到目前为止,这是有效的。现在我想运行两个条件,例如,我有两个前缀要与数组中的每个项相匹配:tableprefix和第二个daryprefix。我已经实现的是将tableprefix保持在顶部。其余的项目必须按字母顺序排序。 我想要达到的目标: 1:数组项匹配表前缀在最顶部//已经实现 2:与secondaryprefix匹配的数组项

  • 问题内容: 在Python 3中,使用多个键按字典顺序对对象列表进行排序非常容易。例如: 该参数使您可以指定是升序还是降序。但是,如果要按多个键进行排序,但是要对第一个键使用降序排序,而对第二个键使用升序排序,该怎么办? 例如,假设我们有一个具有两个属性的对象,而,其中an和is是。我们希望通过梳理这些对象的名单在 递减 顺序(使之与点的数量最多的对象是第一位的),但与同等数量的对象,我们要排序这

  • 嗨,我目前有4个数组都持有不同的数据,我遇到的问题是我想按字母顺序对其中一个数组进行排序,通常我会这样做 其中数组将是我想按字母顺序排序的数组,但我需要数组一起排序。 比如说我的数组是这样的 我想根据Pet数组进行排序,我的输出应该是这样的,所有的第三个值现在都是第一个,第一个值现在是第三个(这比简化了很多,我的实际数组包含数千个输入) 有没有一种简单的方法可以做到这一点,我可以对一个数组进行排序