gpt4 book ai didi

java - .indexOf 给出错误的索引

转载 作者:行者123 更新时间:2023-12-02 06:13:36 25 4
gpt4 key购买 nike

我在 for 循环中有以下代码行:

double[] distancesSort = Arrays.copyOf(distances, distances.length);
positions[i]=Arrays.asList(distances).indexOf(distancesSort[i]);

独立功能:

    distances = new double[dataScaled.size()];
distances[i]= Math.sqrt(runningTotal);

问题是数组位置全部填满了 -1

我确信 distancesSort[i] 位于 distances 数组中,那么为什么它不返回正确的索引呢?

我最好的猜测是它与 asList 没有正确转换我的 double 有关,如果是这样,我该如何纠正它

编辑

Distances 是一个 double 组,distancesSort 是已排序数组的副本

最佳答案

如果distancesdouble[] ,然后Arrays.asList(distances)将创建一个 List<double[]>包含一个元素,而不是 List<Double>包含原始数组中的所有数字。创建List<Double>你需要迭代:

List<Double> list = new ArrayList<>();
for (double d : distances) list.add(d);

然后您可以调用 list.indexOf(someDouble)它会返回你期望的结果。

关于java - .indexOf 给出错误的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21676189/

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