环境
java: 1.7
需求
今天在写排序时,忘了是返回1
,是正序,还是-1
为正序。
或者说,正序或者降序我应该如何返回。
例子说明
Collections.sort(companyList, new Comparator<String>() {
@Override
public int compare(String o1, String o2) {
if(o1.compareTo(o2) < 0 ){
return -1;
}else if(o1.compareTo(o2) == 0){
return 0;
}else{
return 1;
}
}
});
说明:
我的记法:
顺序其实主要是看-1
,-1
决定其是否要调整顺序:
if(o1.compareTo(o2) < 0 ){
return ?;
}
//这里o1表示位于前面的字符,o2表示后面的字符
//上面的条件是,o1比o2小,这个时候,我们需要需要调整它们的顺序
//如果你想升序,那么o1比o2小就是我想要的;所以返回-1,类比成false;表示我不想调整顺序
//如果你想降序,那么o1比o2小不是我想要的;所以返回1,类比成true;表示我想调整顺序
这里o1
表示位于前面的字符,o2
表示后面的字符
上面的条件是,o1
比o2
小,这个时候,我们需不需要调整它们的顺序:
如果你想升序,那么o1比o2小就是我想要的;所以返回-1,类比成false;表示我不想调整顺序
如果你想降序,那么o1比o2小不是我想要的;所以返回1,类比成true;表示我想调整顺序
以上纯属自我总结,没有任何官方参考依据。
自己的一种记法。。。