【发布时间】:2021-07-22 17:31:03
【问题描述】:
我有三个 ArrayList 的双打。一个用于纬度、经度和温度。数组都是未排序的。用户在地球上有一个光标位置,它应该尝试在表中找到最近的纬度和经度对。纬度和经度对分别对应表格中的温度。
我的问题是我想不出一个好方法来遍历这些数组以找到最接近的匹配值。
我尝试做的是遍历整个数组并尝试找到最接近的经度和纬度值,但由于它们未排序,它总是会找到最接近的第一个值并停止。另一个问题是这些值在十进制范围内,所以光标位置永远不会在表中找到精确值,所以我认为它必须在 +/- .00005 度内。
如果光标位置确实包含与表格相对应的确切值,我想这会简单得多,但需要有某种范围可以落入(.00005),所以我实际上返回了一个温度结果。
例子
CLonArray = new ArrayList<>();
CLatArray = new ArrayList<>();
BolometricBrightnessArray = new ArrayList<>();
double CenterLonCoord = Double.parseDouble(CenterLon);
CLonArray.add(CenterLonCoord);
double CenterLatCoord = Double.parseDouble(CenterLat);
CLatArray.add(CenterLatCoord);
double Tbol = Double.parseDouble(BolometricBrightness);
BolometricBrightnessArray.add(Tbol);
网上有很多关于在一个数组中找到最接近目标值的信息,但我需要在两个数组中找到最接近的值,并使用这两个值来找到温度的匹配项。
任何关于如何解决这个问题的想法都将不胜感激!不一定要寻找最有效的方法,而只是我可以检查结果的解决方案。
【问题讨论】:
标签: java arrays data-structures