对位置列表进行排序

dev*_*joe 2 java sorting android

我想整理一份清单android.location.Location.排序应基于我的位置与列表中的位置的距离.所以我认为应该在搜索过程中计算距离.所以我决定使用插入排序.

这是正确的选择吗?

非常感谢

aio*_*obe 8

如果它是一个List地点,我会选择Collections.sort+自定义Comparator:

final Location myLocation = someLocation;

Collections.sort(locations, new Comparator<Location>() {
    @Override
    public int compare(Location o1, Location o2) {
        Float dist1 = o1.distanceTo(myLocation);
        Float dist2 = o2.distanceTo(myLocation);
        return dist1.compareTo(dist2);
    }
});
Run Code Online (Sandbox Code Playgroud)