我有一个名为Coordinate的类,它包含两个属性-纬度和经度。我将此添加到ArrayList。现在,我想获取此ArrayList的最西端坐标。我想要一个高效的算法(因为我有6000个)坐标类。
最佳答案
如果您只想获取最西端的东西,那么就没有理由对列表进行排序。
Coord mostWest = Coord.newAtMaximumEast();
for(Coord coord : listOfCoordinates)
if(coord.isFurtherWest(mostWest))
mostWest = coord;
可读性较低的版本可能是:
Coord mostWest = null;
for(Coord coord : listOfCoordinates)
if(mostWest == null || coord.getLong() < mostWest.getLong())
mostWest = coord;
这是O(n)的复杂性,所有排序算法都比较复杂,最有效的仍然是O(n log n)。
关于java - 解析纬度/经度数组列表以获取最西纬度,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26211934/