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

学过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在后。

展开阅读全文

没有更多推荐了,返回首页