码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Java8新特性:stream()流的巧妙用法总结


    前言

    stream流是Java8为collection类新增的一种功能,利用stream,我们可以

    • 不写for循环,而遍历整个collection,且速度更快
    • 替换collection中的成员(类型和值都可以替换)
    • 收集替换结果,然后将原collection类转为任意想要的新collection类

    正文

    案例1:输入id列表以及统一的状态status,如何批量修改数据库中对应id列表的所有status

    分析:

    • 目前我们拿到的数据类型是:List ids以及String status,而想要获得的数据类型是List entities(PS:Entity就是实体类,内含id和status属性)
    • 上述转换本质上,是要将List的每一个成员替换为List,并为新的成员赋值id与status,因此,可以先定义一个String -> Entity的Function:
    Function<String, Entity> f = o -> {
         Entity entity = new Entity();
         entity.setId(Long.parseLong(o.toString()));
         entity.setStatus(Integer.valueOf(status));
         return entity;
    };
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 然后,使用stream流完成整个collection成员的遍历替换,以及重新收集为List:
    List<Entity> collect = ids.stream().map(f).collect(Collectors.toList());
    
    • 1
  • 相关阅读:
    MongoDB分片集群搭建
    【webrtc】PC : BaseChannel 及子类VideoChannel 和 VoiceChannel :关联source、sink,关联MediaEngine子类,实现RTP包收发
    基于BIM的施工安全管理方法有哪些?
    Linux系统编程系列之进程间通信-信号量组
    神经痛分类图片大全,神经病理性疼痛分类
    adb shell run-as
    springcloud9:openFeign
    DOM—节点操作
    基于微信小程序的汽车租赁系统源码
    Linux —— 网络基础(一)
  • 原文地址:https://blog.csdn.net/weixin_43008154/article/details/127865831
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号