[英]Sorting Datastructures using comparator
I am trying to sort an array ( ads
, of type ETstrain
) by one of the instance variables ( distancefrom
). 我正在尝试通过实例变量( distancefrom
)之一对数组( ads
,类型为ETstrain
)进行排序。 How can I do this? 我怎样才能做到这一点? I have tried using a comparator and then a sorting function. 我尝试过使用比较器,然后使用排序功能。 Is there a better way/ do I have any logical fallacies? 有没有更好的方法/我是否有逻辑上的谬论?
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)
Just try: 你试一试:
Arrays.sort(yourETStrainArray, distanceComparator);
If you have a List instead of an array, use: 如果您有列表而不是数组,请使用:
Collections.sort(yourETStrainList, distanceComparator);
Working code: 工作代码:
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.