1.Lambda表达式,它依赖函数式接口。
3.方法引用与构造器引用,可以代替Lambda表达式。
即如果此方法或构造器已经实现了此函数式接口,则可以直接用于Lambda表达式。
4.Stream API
(filter/limit/skip/distinct/map/flatMap(扁平化)/sorted/allMatch/anyMatch/noneMatch/findAny/count/max/min/reduce/collect)
映射:flatMap接收一个函数作为参数,将流中的每个值都换成另一个流,然后把所有流连接成一个流。
collect收集:收集到集合中用Collectors.toList()/toSet();
收集平均值、收集总和、总数、最大最小:Collectors.averagingDouble()/summingDouble()/maxBy()/minBy();
分组/多级分组:Collectors.groupingBy();
分区:Collectors.partitiongBy();
汇总(一次计算出总和、总数、平均、最大、最小):Collectors.summarizingDouble();
连接(字符串):Collectors.joining(",");
5.接口中的默认方法与静态方法
实现多个接口相当于继承了多个默认实现的方法。
6.新时间日期API
java.time包下。有表示时间的、不同国家的时间格式、处理时区、计算时间。
LocalDateTime处理人读的时间。
Instant处理计算机读的时间(时间戳)。
Duration计算两个时间之间的间隔。
Period计算两个日期之间的间隔。
TemporalAdjuster时间校正器。例如:将日期调整到“下个周日”等操作。
7.重复注解和类型注解
同一处可以重复出现同名注解。属性或参数类型加注解。