Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/227.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 按距离我的位置最近的第一个位置排序位置列表-Android 私有列表排序位置(列表位置,最终位置myLocation){ 比较器comp=新比较器(){ @凌驾 公共整数比较(位置o1,位置o2){ 浮动距离1=o1.距离(myLocation); 浮动距离2=氧气。距离(myLocation); 返回dist1.compareTo(dist2); } }; 集合。排序(位置、组件); 返回地点; }_Java_Android_Sorting_Location_Comparator - Fatal编程技术网

Java 按距离我的位置最近的第一个位置排序位置列表-Android 私有列表排序位置(列表位置,最终位置myLocation){ 比较器comp=新比较器(){ @凌驾 公共整数比较(位置o1,位置o2){ 浮动距离1=o1.距离(myLocation); 浮动距离2=氧气。距离(myLocation); 返回dist1.compareTo(dist2); } }; 集合。排序(位置、组件); 返回地点; }

Java 按距离我的位置最近的第一个位置排序位置列表-Android 私有列表排序位置(列表位置,最终位置myLocation){ 比较器comp=新比较器(){ @凌驾 公共整数比较(位置o1,位置o2){ 浮动距离1=o1.距离(myLocation); 浮动距离2=氧气。距离(myLocation); 返回dist1.compareTo(dist2); } }; 集合。排序(位置、组件); 返回地点; },java,android,sorting,location,comparator,Java,Android,Sorting,Location,Comparator,我想按距离myLocation最近的第一个位置的顺序对位置列表进行排序。我的代码正确吗,因为问题是它不是按升序或降序排序。它只是随机的,甚至与数据库顺序不相似。但原始位置列表和新位置列表是相同的。。请帮忙。它可能会有帮助 private List<Location> sortLocations(List<Location> locations, final Location myLocation) { Comparator comp = new Comp

我想按距离myLocation最近的第一个位置的顺序对位置列表进行排序。我的代码正确吗,因为问题是它不是按升序或降序排序。它只是随机的,甚至与数据库顺序不相似。但原始位置列表和新位置列表是相同的。。请帮忙。

它可能会有帮助

private List<Location> sortLocations(List<Location> locations, final Location myLocation) {

        Comparator comp = 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);
            }
        };

        Collections.sort(locations, comp);

    return locations;
}
私有列表排序位置(列表位置,最终位置myLocation){
Map Map=newtreemap(Comparator.comparing(Float::floatValue));
location.forEach(location->map.put(Math.abs(location.distanceTo(myLocation)),location));
返回新的ArrayList(map.values());
}

能否请您添加您的
位置
类位置是一个android类。这不是问题所在。但如果你先自己测试一下,也许会有用。如果它是反向的,那么只需调用集合。事后反向“我认为它不起作用”不足以帮助人们理解您的问题(您甚至不确定是否有问题!)。相反,描述观察到的确切行为以及预期行为应该是什么。包括任何示例输入、预期/实际输出和任何错误消息的确切文本,包括所有异常(如果适用),以及堆栈跟踪指向的代码行。请参阅和。问题是它不是按升序或降序排序。它只是随机的,甚至与数据库顺序不相似。但原始位置列表和新位置列表是相同的。
 private List<Location> sortLocations(List<Location> locations, final Location myLocation) {
        Map<Float, Location> map = new TreeMap<>(Comparator.comparing(Float::floatValue));
        locations.forEach(location -> map.put(Math.abs(location.distanceTo(myLocation)), location));
        return new ArrayList<>(map.values());
    }