1. 程式人生 > >JAVA中的比較器返回值所規定的排序方式

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在後。