big*_*man 0 java arrays sorting
有人可以帮我解决java中的以下问题.我有一个简单的类定义如下:
public class Expr {
public long total_apparitions;
public String expression=new String();
public Expr(long total,String expr){
this.total_apparitions=total;
this.expression=expr;
}
public void increment(long aparitions){
total_apparitions+=aparitions;
}
}
Run Code Online (Sandbox Code Playgroud)
我想使用内置函数Expr按total_apparitions字段对对象数组进行排序Arrays.sort.如何为Arrays.sort函数指定比较因子?非常感谢.
正如@Jason Braucht所说,实现Comparable如下:
public class Expr implements Comparable {
...
public int compareTo(Object o) {
if(this.total_apparitions > ((Expr) o).total_apparitions)
return 1;
else if(this.total_apparitions < ((Expr) o).total_apparitions)
return -1;
return 0;
}
}
Run Code Online (Sandbox Code Playgroud)