lamada表达式组成:
1. 参数部分 ()
-参数类型可以省略
-当且仅当参数部分只有一个参数,则参数()可以省略
2. 函数体部分 {}
只有一个表达式,{}可以省略。
只有一条语句{}可以省略。
3.方法引用:
- 类名::方法名
- 对象::方法名
- 类名:: new
Stream 流式操作
接受声明于 **java.util.function** 包内的接口,例如 /*Predicate、Function、Consumer 或 Supplier*/那么可以向其传lambda表达式.
-方法:
static <T> Stream<T> generate(Supplier<T> s) : 返回无限顺序无序流。
forEach(Consumer action): 对流中的每个元素执行给定的操作。
limit(long maxSize): 限制流的大小,只取前N个元素。
filter(Predicate predicate):根据给定的条件对流进行过滤,只保留满足条件的元素。
map(Function<T, R> mapper):将流中的每个元素通过给定的映射函数进行转换。
flatMap(Function<T, Stream> mapper):将流中的每个元素通过给定的映射函数转换为一个新的流,并将所有流合并为一个流。
sorted(): 对流进行排序,默认按照元素的自然顺序进行排序。