java8-新特性
## 接口内允许添加默认实现的方法
```
// 定义一个公式接口
interface Formula {
// 计算
double calculate(int a);
// 求平方根
default double sqrt(int a) {
return Math.sqrt(a);
}
}
```
通过 default 关键字这个新特性,可以非常方便地对之前的接口做拓展,而此接口的实现类不必做任何改动。
## stream流
排序sorted
```
List<user> collect = list.stream()
.sorted(Comparator.comparing(user::getId).reversed())
.collect(Collectors.toList());
```
去重distinct
```
List<user> collect = list.stream()
.distinct()
.collect(Collectors.toList());
```
判断filter
```
List<user> collect = list.stream()
.filter((f)->1==f.getId())
.collect(Collectors.toList());
```