本文深入解析Java 8中List.sort ()的使用,对比Collections.sort (),剖析ArrayList与LinkedList排序差异;详解Comparator接口、Lambda表达式及方法引用;覆盖整数、字符串、日期、对象属性、多条件、中文Collator等排序场景;指出NPE、稳定性、并发修改、排序失效等常见坑;并介绍comparingInt等性能优化技巧及自定义 ...
Java的List.sort ()方法接收一个Comparator参数,它的核心逻辑就一个方法compare (T o1, T o2)。 返回值小于0表示o1排在o2前面,等于0表示两者相等,大于0表示o2排在o1前面。 升序排序的本质就是比较器返回“前一个小于后一个”的结果,降序则反过来。