繁体   English   中英

使用比较器对数据结构进行排序

[英]Sorting Datastructures using comparator

我正在尝试通过实例变量( distancefrom )之一对数组( ads ,类型为ETstrain )进行排序。 我怎样才能做到这一点? 我尝试过使用比较器,然后使用排序功能。 有没有更好的方法/我是否有逻辑上的谬论?

abstract class distanceComparator implements Comparator<ETstrain> {
    @Override
    public int compare(ETstrain a, ETstrain b) {
    return a.distancefrom < b.distancefrom ? -1 : a.distancefrom == b.distancefrom ? 0 : 1;
        }
}

public static <ETstrain> void sort(ads[] a,
        Comparator<ETstrain> b)

你试一试:

Arrays.sort(yourETStrainArray, distanceComparator);

如果您有列表而不是数组,请使用:

Collections.sort(yourETStrainList, distanceComparator);

工作代码:

public class distanceComparator implements Comparator<ETstrain> {
    @Override
    public int compare(ETstrain a, ETstrain b) {
        return a.distancefrom < b.distancefrom ? -1
                : a.distancefrom == b.distancefrom ? 0 : 1;
    }
    public <ETstrain> void sort(ETstrain[] ads,
            Comparator<? super ETstrain> distanceComparator){
        Arrays.sort(ads, distanceComparator);
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM