List按一個類屬性排序
List<類> list; 代表某集合
1 傳回 對象集合以類屬性升序排序
2 傳回 對象集合以類屬性降序排序 注意兩種寫法
//先以屬性一升序,結果進行屬性一降序
list.stream().sorted(Comparator.comparing(類::屬性一).reversed());
//以屬性一降序
list.stream().sorted(Comparator.comparing(類::屬性一,Comparator.reverseOrder()));
List 按兩個類屬性排序
1 傳回 對象集合以類屬性一升序 屬性二升序
2 傳回 對象集合以類屬性一降序 屬性二升序 注意兩種寫法
//先以屬性一升序,升序結果進行屬性一降序,再進行屬性二升序
list.stream().sorted(Comparator.comparing(類::屬性一).reversed().thenComparing(類::屬性二));
//先以屬性一降序,再進行屬性二升序
list.stream().sorted(Comparator.comparing(類::屬性一,Comparator.reverseOrder()).thenComparing(類::屬性二));
3 傳回 對象集合以類屬性一降序 屬性二降序 注意兩種寫法
//先以屬性一升序,升序結果進行屬性一降序,再進行屬性二降序
list.stream().sorted(Comparator.comparing(類::屬性一).reversed().thenComparing(類::屬性二,Comparator.reverseOrder()));
//先以屬性一降序,再進行屬性二降序
list.stream().sorted(Comparator.comparing(類::屬性一,Comparator.reverseOrder()).thenComparing(類::屬性二,Comparator.reverseOrder()));
4 傳回 對象集合以類屬性一升序 屬性二降序 注意兩種寫法
//先以屬性一升序,升序結果進行屬性一降序,再進行屬性二升序,結果進行屬性二降序
list.stream().sorted(Comparator.comparing(類::屬性一).reversed().thenComparing(類::屬性二).reversed());
//先以屬性一升序,再進行屬性二降序
list.stream().sorted(Comparator.comparing(類::屬性一).thenComparing(類::屬性二,Comparator.reverseOrder()));