函数式编程 学习笔记

Lambda表达式

基本格式

(参数列表) -> {代码}

省略规则

  1. 参数类型可以省略

  2. 方法体只有一句代码时大括号return和唯——句代码的分号可以省略

  3. 方法只有一个参数时小括号可以省略

stream流

开启流debug模式

常用API

方法名作用
stream() / Arrays.stream() / Stream.of() / map.entrySet().stream()【创建流】把集合转换成流
distinct()【中间操作】排除流中重复元素
filter(a -> a.getAge()<18)【中间操作】过滤流中元素,重写test方法
map(a -> a.getName()) map(a -> a+10)【中间操作】把流中的元素进行类型转换
sorted( (01,02) -> o2.getAge()-o1.getAge() )【中间操作】类需要继承Comparable接口
limit()【中间操作】设置流的长度,超出的部分会被抛弃
skip(n)【中间操作】跳过流中的前n个元素,返回剩下的元素
flatMap( a -> a.getBooks.stream() ) flatMap( a -> Arrays.stream( a.getCategory.spilt(",")) )【中间操作】获取子元素的流
forEach(a -> System.out.println( a.getName ))【终结操作】对流中元素遍历,重写accept方法
count()【终结操作】获取当前流中元素的个数
max()&min()【终结操作】求流中的最值,重写compare方法
collection()【终结操作】将当前流转换成一个集合
anyMatch() / allMatch() / noneMatch()【终结操作】判断流中是否有符合匹配条件的元素
findAny() / findFirst()【终结操作】获取流中的任意一个元素/第一个元素。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值