一、Java中重要的函数接口
- Predicate: 接受一个对象,作判断,返回一个布尔值
- Consumer: 接受一个对象,消费输入,输出一个值
- Function<T,R>: 接受一个对象,获得对象的名字
- Supplier: 工厂方法
- UnaryOperator: 接受一个对象,计算逻辑非(!)
- BinaryOperator: 接受两个数,求两个数的运算结果
二、常用的流操作【惰性求值(返回值是Stream),及早求值(返回值是另一个值或为空)】
-
collect(toList()): 由Stream 里的值生成一个列表
List<String> collected = Stream.of("a", "b", "c") .collect(Collectors.toList());
-
map: 将Stream里一种类型的值转换成另外一种类型,即用一个新的值代替Stream中的值
List<String> collected = Stream.of("a", "b", "hello") .map(string -> string.toUpperCase()) .collect(toList());
-
flatMap: