2016-05-08 68 views
-3

我想從高到低排序。Java比較器按相反順序排序

從最低到最高,你通常會做:

@Override 
    public int compare(Person p1, Person p2) { 
     return (p1.getAge() - p2.getAge()); 
} 

這將通過年齡從最低到最高排序的人。

我該怎麼做呢?

回答

2

你可以再寫Comparator這樣

@Override 
public int compare(Person p1, Person p2) { 
    return (p2.getAge() - p1.getAge()); 
} 

如果返回值是負數,那麼第一個對象參數是比第二較小。

如果返回值是零,那麼兩者同樣都是可比的(並不意味着平等的,但相等的對象必須返回零)

看看javadoc瞭解更多信息

+0

真的嗎?這很簡單嗎?也許是因爲我不知道什麼被退回。這個返回值是什麼意思? – Kingamere