JUC并发编程学习笔记(十二)Stream流式计算
1.JUC并发编程学习笔记(二)Lock锁(重点)2.JUC并发编程学习笔记(一)认知进程和线程3.JUC并发编程学习笔记(三)生产者和消费者问题4.JUC并发编程学习笔记(四)8锁现象5.JUC并发编程学习(五)集合类不安全6.JUC并发编程学习笔记(六)Callable(简单)7.JUC并发编程学习笔记(七)常用的辅助类8.JUC并发编程学习笔记(八)读写锁9.JUC并发编程学习笔记(九)阻塞队列10.JUC并发编程学习笔记(十)线程池(重点)11.JUC并发编程学习(十一)四大函数式接口(必备)
12.JUC并发编程学习笔记(十二)Stream流式计算
13.JUC并发编程学习(十三)ForkJoin14.JUC并发编程学习笔记(十四)异步回调15.JUC并发编程学习笔记(十五)JMM16.JUC并发编程学习笔记(十七)彻底玩转单例模式17.JUC并发编程学习笔记(十九)原子引用18.JUC并发编程(终章)各种锁的理解19.JUC并发编程学习笔记(十六)Volatile20.JUC并发编程学习笔记(十八)深入理解CASStream流式计算
什么是Stream流式计算
大数据:存储+计算
集合、MySql这些的本质都是存储东西的;
计算都应该交给流来操作!
一个案例说明:函数式接口、lambda表达式、链式编程、Stream流式计算
package org.example.stream; import java.util.Arrays; import java.util.List; import java.util.function.Predicate; /* * 题目要求:一分钟内完成此题 只能用一行代码 * 现在有五个用户!筛选: * 1、id必须是偶数 * 2、年龄名必须大于23岁 * 3、用户名转换为大写字母 * 4、用户名字母倒着排序 * 5、只输出一个用户!! * */ public class Test { public static void main(String[] args) { User u1 = new User(1, "a", 21); User u2 = new User(2, "b", 22); User u3 = new User(3, "c", 23); User u4 = new User(4, "d", 24); User u5 = new User(5, "e", 25); User u6 = new User(6, "f", 26); // 集合就是存储 List<User> users = Arrays.asList(u1, u2, u3, u4, u5, u6); // 计算交给Stream /* *新时代程序员:lambda表达式、链式编程、函数式接口、Stream流式计算 * */ users.stream().filter(u -> { return (u.getId() % 2 == 0); }).filter(u -> { return (u.getAge() > 23); }) .map(u -> { return u.getName().toUpperCase();//转换大写 }).sorted((uu1, uu2) -> { return uu2.compareTo(uu1);//比较转换 }).limit(1).forEach(System.out::println); } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构