Stream操作
public static void main(String[] args) {
List<Parking> parkings = Arrays.asList(Parking.builder().build().setParkingName("白天车场").setNumber(111),
Parking.builder().build().setParkingName("夜晚车场").setNumber(222),
Parking.builder().build().setParkingName("夜晚车场").setNumber(222));
//1、forEach:forEach循环,获取每一个元素
parkings.stream().forEach(parking -> System.out.println("***" + parking.getParkingName()));
//2、map:映射,映射每个元素到对应的结果,生成新的集合
parkings.stream().map(Parking::getParkingName).collect(Collectors.toList()).forEach(System.out::println);
//3、filter:条件过滤,过滤掉条件中的集合
parkings.stream().filter(parking -> parking.getNumber() == 222).collect(Collectors.toList());
//4、count:获取集合数量
System.out.println(parkings.stream().filter(parking -> parking.getNumber() == 222).count());
//5、distinct:去重
parkings.stream().map(Parking::getNumber).distinct().collect(Collectors.toList()).forEach(System.out::println);
//6、limit:获取指定数量流
new Random().ints().limit(10).forEach(System.out::println);
//7、sorted:用于对流进行排序
new Random().ints().limit(10).sorted().forEach(System.out::println);
//8、parallelStream:并行流 stream:串行流
System.out.println(parkings.parallelStream().count());
/**
* 9、collect:对Stream进行处理,返回新的对象
* Collectors.toList():返回List集合
* Collectors.joining():字符串拼接
*/
System.out.println(parkings.stream().map(Parking::getParkingName).collect(Collectors.joining(",")));
/**
* 10:summaryStatistics:统计操作
* getMax:最大值
* getMin:最小值
* getSum:所有数之和
* getAverage:平均数
*/
List<Integer> numbers = Arrays.asList(3, 2, 2, 3, 7, 3, 5);
IntSummaryStatistics stats = numbers.stream().mapToInt((x) -> x).summaryStatistics();
System.out.println("列表中最大的数 : " + stats.getMax());
System.out.println("列表中最小的数 : " + stats.getMin());
System.out.println("所有数之和 : " + stats.getSum());
System.out.println("平均数 : " + stats.getAverage());
}
Stream操作的更多相关文章
- c#常见stream操作
原文: c#常见stream操作 常见并常用的stream一共有 文件流(FileStream), 内存流(MemoryStream), 压缩流(GZipStream), 加密流(CrypToStre ...
- java8 Stream操作
Stream操作详解:https://www.ibm.com/developerworks/cn/java/j-lo-java8streamapi/#icomments
- IntelliJ IDEA中如何优雅的调试Java Stream操作
Stream操作是Java 8推出的一大亮点!虽然java.util.stream很强大,但依然还是有很多开发者在实际工作中很少使用,其中吐槽最多的一个原因就是不好调试,一开始确实是这样,因为stre ...
- JDK8的Stream操作
原文:https://mp.weixin.qq.com/s/N2zor5RzuHHTHQLHWVBttg 作者:思海同学 好好学java 其他资料:https://mp.weixin.qq.com/ ...
- java集合(3)-Java8新增的Stream操作集合
Java8新增了Stream,IntStream,LongStream,DoubleStream等流式API,这些API代表多个支持串行和并行聚集操作的元素.上面的4个接口中,Stream是一个通用的 ...
- JDK8 Stream操作整理
1,forEach this.quoteItemList.forEach(p -> p.setMode(mode)); 2,获取对话属性,去重后生成集合 List<String> p ...
- 【Java】【6】JDK8 Stream操作整理
摘要: 1,List<EntityOld>转换为List<EntityNew> List<EntityOld> list = oldList; List<En ...
- java 集合stream操作
分组 Map<Integer, List<T>> group = List.stream().collect(Collectors.groupingBy(T::getField ...
- stream操作 z
常见并常用的stream一共有 文件流(FileStream), 内存流(MemoryStream), 压缩流(GZipStream), 加密流(CrypToStream), 网络流(NetworkS ...
- c++ stream操作杂记
包含简单的读写文件,供初学者入门,stream目前包含三种,终端,文件,内存,注意宽字节. ) ; ) ; ] ; } pasting
随机推荐
- 简单的关键词查找实验(基于C语言)
准备 书名数据库的阵列表示 关键字 书籍 B1 B2 B3 B4 B5 B6 B7 algebra 1 1 1 1 1 1 0 application 1 0 1 1 1 1 0 elementary ...
- [服务器]Windows Server 2008 64位1核1G安装SQL Server2008
本文为原创文章,转载请注明出处!我的博客地址:http://www.cnblogs.com/txwd 这台服务器是2017年初买的,那时候1核1G,3年要1500.不过现在便宜了,2核4G,3年也就1 ...
- [1] Multi-View Transformer for 3D Visual Grounding 论文精读
参考: https://zhuanlan.zhihu.com/p/467913475 3D Visual Grounding小白调研笔记 https://zhuanlan.zhihu.com/p/34 ...
- 使用layui+jQuery实现点击数据修改,即点即改。
使用layui+jQuery实现点击数据修改即可修改 首先要用到layui的官网手册 地址:https://www.layui.com/ 注意1. 此功能是在使用layui展示数据的基础上实现 3. ...
- go 处理json
在云原生的相关技术中, 调用 kafka 和 es等中间件,返回的结果大多是 json 格式,因此我们需要频繁的对 json 进行操作. 在go这种强类型的语言中,不同于 python 和 nodej ...
- python_lib_x_1000_file_csv.py
#!/usr/bin/python # -*- coding: UTF-8 -*- from lib_config import * from lib.lib_x_0002_decorator_log ...
- AWT+Swing实现百度图像识别
1准备 1.1在百度智能云中创建自己的应用,得到API Key和Secret Key 1.2maven导入SDK依赖 2源码 import java.net.URLEncoder; /** * 植物识 ...
- 调度平台&定时任务
一.介绍: 1.调度平台能够定时 自动调用我们的脚本或程序,如每周.每天.每隔几小时等: 2.jenkins也可以算一种调度平台 但不是特别好,为了统一化管理.调度还是用专门的任务调度平台比较好 为什 ...
- Razor视图cshtml做到运行时编译【提高开发效率】
当你的.NET开发工具升级到.NET Core版本以上,就会发现有时候无法将视图界面做的修改可以直接保存后刷新输出,一般都需要重新热重载或重新编译,这样会导致开发效率过慢的行为,开发者无法直接直观地看 ...
- xorg 屏幕分辨率设置(x11分辨率设置/linux分辨率设置)
记录一下,用于linux虚拟机分辨率设置.https://blog.csdn.net/weixin_36084095/article/details/116839103(在谷歌搜索是简书的文章,在百度 ...