gpt4 book ai didi

java - 确定两个 Double 数组的元素顺序是否相同?

转载 作者:行者123 更新时间:2023-12-01 11:46:05 24 4
gpt4 key购买 nike

我需要知道两个等长的 double 组的元素顺序是否相同。我正在做如下,它似乎有效,但我认为必须有一种更有效的方法。

class Box {
double a, b;
}

boolean orderIsEqual(double[] a, double[] b) {
Box[] xa = new Box[a.length]; //always same length
Box[] xb = new Box[a.length]; //always same length

for (int i = 0; i < a.length; i++) {
Box box = new Box();
box.a = a[i];
box.b = b[i];
xa[i] = box;
xb[i] = box;
}

Arrays.sort(xa, new Comparator<Box>() {
@Override
public int compare(Box o1, Box o2) {
if (o1.a > o2.a) return 1;
if (o1.a < o2.a) return -1;
return 0;
}
});

Arrays.sort(xb, new Comparator<Box>() {
@Override
public int compare(Box o1, Box o2) {
if (o1.b > o2.b) return 1;
if (o1.b < o2.b) return -1;
return 0;
}
});

return Arrays.equals(xa, xb);//was deepEquals() - unnecessary
}

最佳答案

虽然我认为这个问题有一些隐藏的问题......

  • 那里的盒子对于你的任务来说似乎完全没有必要
  • 示例中的两个盒子数组(xa、xb)默认情况下是相等的,因为您将相同的内容放入其中

...如果您只想检查 double 组,Arrays.equals(a, b) 有什么问题吗?如果该方法返回 false,则您知道数组 a、b 不包含相同的元素,或者顺序不同。

关于java - 确定两个 Double 数组的元素顺序是否相同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29114457/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com