Java JUC并发之Stream流式计算
时间:2021-07-15
本文章向大家介绍Java JUC并发之Stream流式计算,主要包括Java JUC并发之Stream流式计算使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
十三、Stream流式计算
程序员必备技能:
- lambda表达式
- 链式编程
- 函数式接口 (有且只有一个方法)
- Stream流式计算
什么是Stream流式计算
大数据 : 存储 + 计算
存储: 集合 数据库(MySQL)
计算都应该交给
Stream流来操作!
package com.liu.stream;
import java.util.Arrays;
import java.util.Comparator;
import java.util.List;
import java.util.Locale;
import java.util.function.Predicate;
import java.util.stream.Stream;
/**
* 题目要求:一分钟内完成此题,只能用一行代码实现!
* 现有5个用户!筛选:
* 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(6,"e",25);
User u6 = new User(8,"f",26);
// 集合:存储
//List<User> list = Arrays.asList(u1, u2, u3, u4, u5, u6);
//list.forEach(System.out::println);
// 计算交给Stream流
// 链式编程 => 简化编程模型
// 函数式接口
// Stream流式计算
Stream.of(u1, u2, u3, u4, u5, u6)
.filter( u -> { return u.getId()%2==0; })
.filter( u -> { return u.getAge()>23; })
.map( u -> { u.setName(u.getName().toUpperCase());
return u; // 返回的是User对象
})// return u.getName().toUpperCase();
.sorted( (uu1,uu2)-> uu2.getName().compareTo(uu1.getName()))
.limit(1)
.forEach(System.out::println);
}
}
本文来自博客园,作者:{夕立君},转载请注明原文链接:https://www.cnblogs.com/liuzhhhao/p/15016637.html
原文地址:https://www.cnblogs.com/liuzhhhao/p/15016637.html
- 协议森林10 魔鬼细节 (TCP滑窗管理)
- CMD魔法堂:获取进程路径和PID值的方法集
- .Net魔法堂:提取注释生成API文档
- CMD魔法堂:CMD进入指定目录
- Apache IIS Tomcat共存,配置全能服务器
- 协议森林11 涅槃 (TCP重新发送)
- CentOS6.5菜鸟之旅:关于搜索的shell命令
- 协议森林12 天下为公 (TCP堵塞控制)
- .Net魔法堂:AssemblyInfo.cs文件详解
- 本地php环境不支持curl_exec的解决办法
- JAVA魔法堂:读取.properties配置文件
- Python深入04 闭包
- PHP获取时间戳的毫秒
- Python深入03 对象的属性
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- 误差线怎么画,写不写代码as you like
- Nomogram(诺莫图) | Logistic、Cox生存分析结果可视化
- Forest plot(森林图) | Cox生存分析可视化
- R-forestplot包| HR结果绘制森林图
- 韦恩图
- R-plotly|交互式甘特图(Gantt chart)-项目管理/学习计划
- Python的这些高级用法你都知道吗?
- ggstatsplot绘图|统计+可视化,学术科研神器
- 用python下载哔哩哔哩视频?
- 数据处理|数据查重怎么办?去重,就这么办!
- FFmpeg合并MP4文件
- Broom |tidy up a bit,模型,检验结果一键输出!
- 今日算法题-动态规划法
- 3分钟短文 | PHP获取函数的代码片段,唯有反射最高效!
- ggforce|绘制区域轮廓-区域放大-寻找你的“onepiece”