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
随机推荐
- Amd,Cmd, Commonjs, ES6 import/export的异同点
Amd,Cmd, Commonjs, ES6 import/export等均是模块化方案 1.Commonjs使用在Nodejs上,加载模块是同步的. 2.Amd是requirejs在推广过程中对模块 ...
- uni-app学习笔记之----页面跳转
1.声明式跳转 <navigator url="/pages/detail/detail"> <button>跳转至详情页</button> & ...
- DPU02是一个高度集成的USB转UART的桥接控制器
DPU02是一个高度集成的USB转UART的桥接控制器,该产品提供了一个简单的解决方案,可将RS-232设计更新为USB设计,并简化PCB组件空间.该DPU02包括了一个USB 2.0全速功能控制器. ...
- mysql sum 聚合计算后精度不准 出现多位小数点后的数
解决办法 原收款单money 字段 为 decimal(28,8) 经过层层计算用到了 @total := ( beginning + @total + gather - verification ) ...
- Springboot+thymeleaf结合Vue,通过thymeleaf给vue赋值解决Vue的SEO问题
前言 vue开发的项目有时候会有SEO的需求,由于vue是JavaScript框架,内容都在JavaScript和服务端,所以SEO效果很差.vue的服务端渲染又很难和现在成熟的springboot等 ...
- .ToList()前的OrderBy是起不到排序效果的【未解决】
废话也不说了,直接上图 思考:很多时候我们都想通过Linq的OrderBy给数据集进行排序,这样确实是有效的,但是如果后面将数据集改成了ToList()的话是又会重新打乱排序方式的! 所以有个疑问需要 ...
- xfce-debian10 英文环境安装配置记录
Centos还没有用利索(因为我听说debian是更纯正的社区开源项目???可是这对于我这样毫无技术菜鸟来说有什么关系呢???可是耐不住心中的悸动???悸动又从哪里了呢???哎,不管了),突然心血来潮 ...
- 微信小程序-关闭某个页面分享
方式一: wx.hideShareMenu(); 方式二:
- linux用户权限与组
less /etc/passwd 查看用户文件 passwd tom[用户名] 修改密码 useradd suguihua[用户名] 新增用户名 vim /etc/passwd 将xiaoqian ...
- 使用cutlass编译时,需要指定架构和sm
对于Turing架构,nvcc需要加上选项 -gencode=arch=compute_75,code=sm_75 其他架构类似.