您的位置:首页 > 编程语言 > Java开发

JAVA中的比较器返回值所规定的排序方式

2017-07-21 21:13 204 查看
学过JAVA的人都知道JAVA中有两种常见的比较器,
comparable和comparator。而比较器的用途一般是用来定义排序的规则,
这里我就comparable中的compareTo()方法中3个返回值所规定的排序顺序。排序顺序相同,
这里只对comparable中的compareTo()方法进行举例)。


class A implements comparable<A>{
@override
int num1;
int  num2;
public int compareTo(A a){
if(this.num1>a.num1)
return 1;//从小到大升序
else if(this.num1<a.num1)
return -1;
return 0;
}


如上面的代码所示,按照num1的大小进行排序(如需根据num2排序只需将对应的位置改成num2即可)。

其实主要还是根据return 1的那条if语句来判断,如果是”<”则是从大到小,如果是”>”则是从小到大,即与实际看上去的相反。

但前提是this要在前面,形參在后面

如果是comparator中的compare(obj1,obj2),则是obj1在前,obj2在后。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: