TreeSet重寫Comparator排序

bug不存在的發表於2021-10-08

/*


 * 向TreeSet集合中加入5個員工的物件


 * 根據員工的年齡(升序)進行排序


 * 若年齡相同,再根據工齡(降序)來排序


 * 若工齡相同,再根據薪水(降序)排序


 * 若薪水相同,再根據姓名首字母升序排列


 */

public class StaffCompare implements Comparator<Staff>{    

    public int compare(Staff o1, Staff o2) {

        int n1 = o1.getAge() - o2.getAge();

        int n2 = o1.getWorkAge() - o2.getWorkAge();

        int n3 = Double.compare(o1.getSalary(), o2.getSalary());

        boolean n4 = o1.getName().equals(o2.getName());

        return (0==n1) ? ((0==n2)? (n3==0 ? -1 : (n3<0 ? 1 : -1)) : (n2<0? 1: -1)):(n1>0? 1:-1);

    }

}


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70007877/viewspace-2794993/,如需轉載,請註明出處,否則將追究法律責任。

相關文章