我试图通过对象内的特定值对对象的arraylist进行排序.做这样事情的最佳方法是什么.我应该使用Collections.sort()与某种比较器?
我试图按照它们在其中一个变量中保存的浮点值对对象列表进行排序.
编辑:这是我到目前为止:
public class CustomComparator implements Comparator<Marker> {
@Override
public int compare(Mark o1, Mark o2) {
return o1.getDistance().compareTo(o2.getDistance());
}
}
Run Code Online (Sandbox Code Playgroud)
错误状态:无法在基本类型double上调用compareTo(double).
是因为比较器不能返回除某种类型以外的任何东西吗?
我试图在java中学习比较器,我在网上找到了这个很好的例子,我的问题是如何更改这些代码,以便按年龄和降序排列宠物名称,以便最老的是第一个,最小的是最后一个?
class Dog implements Comparator<Dog>, Comparable<Dog>{
private String name;
private int age;
Dog(){
}
Dog(String n, int a){
name = n;
age = a;
}
public String getDogName(){
return name;
}
public int getDogAge(){
return age;
}
// Overriding the compareTo method
public int compareTo(Dog d){
return (this.name).compareTo(d.name);
}
// Overriding the compare method to sort the age
public int compare(Dog d, Dog d1){
return d.age - d1.age;
}
}
public class Example{
public static void main(String args[]){
// Takes …Run Code Online (Sandbox Code Playgroud)