看了半天别人写的,让自己写也写不出来。哭哭哭哭。。开始学习。。。。。。
一、Lambda基本语法:
单行:() -> system.out.println("lalllallalll")
多行: () ->{
system.out.println("lalllallalll")
}
还有带参数的 (even) ->{ system.out.println("lalllallalll")
俩个参数的(x,y)->{ x+y }
也可以直接加上(Long x, Long y)->{ x+y }
predicate的接口中,接收一个对象返回一个boolean
二、流
stream
collect(toList())由stream里的值生成一个列表,是一个及早求值操作
map 可以将一种类型的值转换成另外一种类型
filte 遍历数据并检查其中的元素时
flatMap 可用stream替换值,然后将多个Stream连接成一个Stream
max 最大值 min最小值
例、List<Trask> trasks=asList(new Track("bakai",524),
new Track("Violets for drgrff",378),
new Track("Time Was",451));
Trask shortestTrask=trask.stream()
.min(Comparator.comparing(track -> track.getLength()))
.get();
为了让Stream对象按照曲目长度进行排序,需要给他传Comparator对象,java8提供了一个新的静态方法comparing,使用他的方法实现一个比较器,