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

来源:互联网 发布:fade to black知乎 编辑:程序博客网 时间:2024/06/11 01:04
学过JAVA的人都知道JAVA中有两种常见的比较器,comparable和comparator。而比较器的用途一般是用来定义排序的规则,这里我就comparable中的compareTo()方法中3个返回值所规定的排序顺序。排序顺序相同,这里只对comparable中的compareTo()方法进行举例)。
class A implements comparable<A>{@overrideint 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在后。