当前位置: 首页 > news >正文

小记 Java stream 中 peek()

peek 函数:接受一个函数作为参数。这个函数会被应用到每个元素上,并将结果元素映射成一个新的元素。

相比于类似 foreach,更类似于lambda中的map函数。

map函数:接受一个函数作为参数。这个函数会被应用到每个元素上,并将返回值映射成一个新的元素。

简单来说,map函数就是对流对象(集合中的所有对象)进行操作并返回一个Stream<Object>对象,这个Object对象可以是源对象的类型,也可以是其他类型。

当返回类型为源对象类型时,map函数=peek函数

贴段代码

List<T> collect = modelList
        .stream()
        .filter(it -> relationBaseDao.selectByExact(ModelSO.getInstance(it)).size() == 0)
        .map(it-> {it.setId(RandomUtil.ssid());return it;})
        .collect(Collectors.toList());

这里的map可以替换为peek

List<T> collect = modelList
        .stream()
        .filter(it -> relationBaseDao.selectByExact(ModelSO.getInstance(it)).size() == 0)
        .peek(it-> it.setId(RandomUtil.ssid()))
        .collect(Collectors.toList());

相关文章:

  • 即时通讯音视频开发视频编解码理论
  • Go 性能优化之race实战
  • SpringBoot Disruptor 构建高性能内存队列
  • SVN培训笔记(下拉项目、同步修改、添加文件、修改文件、删除文件、改名文件等)
  • Python代码实现栈 2括号匹配算法3、通用括号匹配算法;index()方法
  • 鸡兔同笼:笼子里一共有鸡和兔子35只,一共有94条退, 笼子里一共有鸡和兔子共多少只
  • Windows 下使用 Docker + MySQL 安装 Wiki.js
  • 企业成功认定国家专精特新的申报条件
  • NVM安装
  • 3GPP中URLLC标准研究进展
  • 【考研英语】作文套话(自用)
  • Microsoft Graph PowerShell v2 发布公开预览版 - 一半的大小,加速的自动化体验
  • 安卓面经(11/30)IntentService全解析
  • 基于R语言的DICE(Dynamic Integrated Model of Climate and Economy)模型
  • import语句写烦了,怎么办?
  • 互联网寒冬下的面经总结
  • 【设计模式】我终于读懂了装饰者模式。。。
  • 在线图片转文字怎么操作?
  • 机器学习模型-BUPA liver disorders-探索饮酒与肝炎关系(论文,科研,医疗信息化诊断系统用)
  • React扩展:fragment、Context