按类字段对java中的数组进行排序

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)

我想使用内置函数Exprtotal_apparitions字段对对象数组进行排序Arrays.sort.如何为Arrays.sort函数指定比较因子?非常感谢.

Jon*_*and 5

正如@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)