Java中经常需要添加比较器:
@Override
public int compareTo(Object o) {
if (o == null || getNum() < o.getNum() ) {
return -1;
}
if (getNum() == o.getNum() ) {
return 0;
}
return 1;
}
记忆规则:
已有排序: o1, o2, o3, o
新加入数据this
如果this.getNum() 比前一个o.getNum()比较后返回1,即正数,则不需要重排,保持在o之后即可,否则排到o的前面。
即如 this.getNum() < o.getNum(),且返回-1,则需要排到o的前面,此时为从小到大的正序排列。