TreeSet重寫Comparator排序
/*
* 向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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- java TreeSet去重與排序入門Java排序
- Java 8 Comparator: 列表排序Java排序
- Treeset的兩種排序方法排序
- Java 集合排序策略介面 ComparatorJava排序
- 使用TreeSet構造排序的集合排序
- 字串排序 (java comparator介面的使用)字串排序Java
- List排序用Collections.sort and Comparator排序
- Java利用Comparator實現分組排序Java排序
- Comparator.comparing排序使用示例排序
- JAVA Comparator 自定義排序 原始碼分析Java排序原始碼
- List排序Collections.sort 重寫compare排序
- 透過Treeset解決隨機數排序問題隨機排序
- Java stream sorted使用 Comparator 進行多欄位排序Java排序
- Java 8: Lambda表示式增強版Comparator和排序Java排序
- Java Comparable排序介面和Comparator比較器介面Java排序
- TreeSet
- 希爾排序——重溫排序(二)排序
- Java8-增強版Comparator和排序之Lambda表示式Java排序
- std::map 自定義key型別,重寫operator<() 沒有嚴格弱序引起的“invalid comparator”型別
- 重溫快速排序排序
- 【java】【集合】TreeSetJava
- TreeSet的特性
- 集合框架-TreeSet集合框架
- 陣列先去重,後排序陣列排序
- 集合框架-TreeSet保證元素唯一性和自然排序的原理和圖解框架排序圖解
- 重寫Reddit
- 方法重寫
- HashSet、TreeSet、CopyOnWriteArraySet和CopyOnWriteArrayList
- JDK原始碼分析-TreeSetJDK原始碼
- 為什麼重寫equals必須重寫hashCode
- Java Comparable 與 ComparatorJava
- 陣列的去重和排序陣列排序
- 利用rownum分組排序去重排序
- mysql資料去重和排序MySql排序
- 重寫ThreadPoolTaskExecutorthread
- hashcode重寫
- Strangler重寫模式模式
- nginx url重寫Nginx