//对象集合
List<类> list;
//(类属性一)升序
list.stream().sorted(Comparator.comparing(类::属性一));
//(类属性一)降序【两种方法】
//【方法1】(类属性一)升序,升序结果进行(类属性一)降序
list.stream().sorted(Comparator.comparing(类::属性一).reversed());
//【方法2】(类属性一)降序
list.stream().sorted(Comparator.comparing(类::属性一,Comparator.reverseOrder()));
//(类属性一)升序 、(类属性二)升序
list.stream().sorted(Comparator.comparing(类::属性一).thenComparing(类::属性二));
//(类属性一)降序 、(类属性二)升序 【两种方法】
//【方法1】先以(类属性一)升序,升序结果进行(类属性一)降序;再进行(类属性二)升序
list.stream().sorted(Comparator.comparing(类::属性一).reversed().thenComparing(类::属性二));
//【方法2】先以(类属性一)降序;再进行(类属性二)升序
list.stream().sorted(Comparator.comparing(类::属性一,Comparator.reverseOrder()).thenComparing(类::属性二));
//(类属性一)降序 、(类属性二)降序 【两种方法】
//【方法1】先以(类属性一)升序,升序结果进行(类属性一)降序;再进行(类属性二)降序
list.stream().sorted(Comparator.comparing(类::属性一).reversed().thenComparing(类::属性二,Comparator.reverseOrder()));
//【方法2】先以(类属性一)降序;再进行(类属性二)降序
list.stream().sorted(Comparator.comparing(类::属性一,Comparator.reverseOrder()).thenComparing(类::属性二,Comparator.reverseOrder()));
//(类属性一)升序 、(类属性二)降序 【两种方法】
//【方法1】先以(类属性一)升序,升序结果进行(类属性一)降序;再进行(类属性二)升序,结果进行(类属性一)降序、(类属性二)降序
list.stream().sorted(Comparator.comparing(类::属性一).reversed().thenComparing(类::属性二).reversed());
//【方法2】先以(类属性一)升序;再进行(类属性二)降序
list.stream().sorted(Comparator.comparing(类::属性一).thenComparing(类::属性二,Comparator.reverseOrder()));
//得到排序结果后再排序
Comparator.comparing(类::属性一).reversed();
//直接进行排序【推荐使用】
Comparator.comparing(类::属性一,Comparator.reverseOrder());