Java Lambda级联表达式(柯里化)与Stream流操作

目录

Java Lambda级联表达式

Stream流操作

创建

中间操作

终止操作

例子


Java Lambda级联表达式

又称柯里化,把多个参数的函数转化为只有一个参数的多个函数级联的形式,目的是函数标准化

Function<Integer, Function<Integer, Integer>> fun = x -> y -> x + y;
System.out.println(fun.apply(2).apply(3));	// 5

Stream流操作

创建

 相关方法
集合Collenction.stream/paralleStream
数组Array.stream、Stream.of(Array)
数字StreamIntStream/LongStream.range/rangeClosed
 Random.ints/longs/doubles
自己创建Stream.generate/iterate

中间操作

 相关方法的
无状态操作map/mapToXxx
 flatMap/flatMapToXxx
 filter
 peek
 unordered
有状态操作distinct
 sorted
 limit/skip

终止操作

 相关方法
非短路操作forEach/forEachOrderd
 collect/toArray
 reduce
 min/max/count
短路操作findFirst/findAny
 allMatch/anyMatch/noneMatch

例子

String str = "my name is 007";
// 找出单词大于2的单词字母数
Stream.of(str.split(" "))
    .filter(s -> s.length() > 2)
    .map(s -> s.length())
    .forEach(System.out::println); // 4 3

// 转换为一个一个字母进行输出
Stream.of(str.split(" "))
    .flatMap(s -> s.chars().boxed())
    .forEach(i -> System.out.println((char) i.intValue()));
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值