排序和重新排列(不同的)数组

克里斯·帕里

我有两个int[]数组IJ如下所示:

int[] I = { 1, 2, 4, 5, 3 };
int[] J = { 8, 7, 6, 3, 2 };

我想排序I,然后J使用相同的索引重新排列,以便两个数组保持对齐状态。结果应为:

I = { 1, 2, 3, 4, 5 };
J = { 8, 7, 2, 6, 3 };
风险

正如@ajb在上面的注释中指出的那样,实现此目的的最简单方法是使用为元组建模的类。

这样做的好处是您可以使用Arrays.sort内置函数,从而避免编写自己的排序算法。另一方面,将数据从元组传输到原始数组会产生额外的开销。

但是,您可能会发现,在您的应用程序中,您可以直接使用Tuple对象,而无需将它们传递回数组。

import java.util.*;

class Tuple implements Comparable<Tuple>
{
    int x;
    int y;
    Tuple(int a, int b)
    {
        x = a;
        y = b;
    }

    public int compareTo(Tuple another)
    {
        return Integer.compare(x, another.x);
    }
}

class Main
{
    public static void main(String args[])
    {
        int a[] = {1, 2, 4, 5, 3};
        int b[] = {8, 7, 6, 3, 2};
        Tuple arr[] = new Tuple[a.length];
        for (int i=0;i<a.length;i++)
            arr[i] = new Tuple(a[i], b[i]);
        Arrays.sort(arr);
        for (int i=0;i<a.length;i++)
        {
            a[i] = arr[i].x;
            b[i] = arr[i].y;
        }

        System.out.println(Arrays.toString(a));
        System.out.println(Arrays.toString(b));
    }
}

并输出:

[1, 2, 3, 4, 5]
[8, 7, 2, 6, 3]

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

来自分类Dev

重新排列和排序

来自分类Dev

基于多个条件对哈希数组进行排序和重新排列

来自分类Java

Java中的高级数组排序/重新排列

来自分类Dev

使用排序索引重新排列3-D数组?

来自分类Dev

使用For循环对Pandas DataFrame进行排序和重新排列

来自分类Dev

重新排列numpy数组

来自分类Dev

重新排列JavaScript数组

来自分类Dev

重新排列数组索引雄辩的Laravel

来自分类Dev

在cmd中重新排列数组元素

来自分类Dev

重新排列NumPy数组中的值

来自分类Dev

在Python中重新排列数组

来自分类Dev

重新排列Python argparse参数组

来自分类Java

用Java重新排列数组

来自分类Dev

AngularJS $ scope数组对象重新排列

来自分类Dev

在React JS中重新排列数组

来自分类Dev

将数组拆分为大约相等的和而不重新排列

来自分类Python

在数组中重新排列数组中的数组

来自分类Dev

如何重新排列/重新排列python数据框中的行和列?

来自分类Java

重新排列读取

来自分类Dev

根据嵌套数组重新排列对象数组

来自分类Python

如何基于索引数组重新排列数组

来自分类Javascript

如何通过索引数组重新排列数组?

来自分类Dev

Javascript-按数组重新排列对象数组(值)

来自分类Dev

在数组数组中重新排列值

来自分类Dev

使用UICollectionViewFlowLayout重新排列不同大小的UICollectionView项

来自分类Dev

在不同屏幕尺寸上重新排列DOM元素

来自分类Dev

重新排列Twitter Bootstrap div以折叠至不同顺序

来自分类Dev

重新排列矩阵的列,每行采用不同的顺序

来自分类Dev

使用SwiftUI导航视图和已排序的FetchRequest在详细信息视图中重新排列列表项时的问题

TOP 榜单

热门标签

归档