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操作的更多相关文章

  1. c#常见stream操作

    原文: c#常见stream操作 常见并常用的stream一共有 文件流(FileStream), 内存流(MemoryStream), 压缩流(GZipStream), 加密流(CrypToStre ...

  2. java8 Stream操作

    Stream操作详解:https://www.ibm.com/developerworks/cn/java/j-lo-java8streamapi/#icomments

  3. IntelliJ IDEA中如何优雅的调试Java Stream操作

    Stream操作是Java 8推出的一大亮点!虽然java.util.stream很强大,但依然还是有很多开发者在实际工作中很少使用,其中吐槽最多的一个原因就是不好调试,一开始确实是这样,因为stre ...

  4. JDK8的Stream操作

    原文:https://mp.weixin.qq.com/s/N2zor5RzuHHTHQLHWVBttg 作者:思海同学  好好学java 其他资料:https://mp.weixin.qq.com/ ...

  5. java集合(3)-Java8新增的Stream操作集合

    Java8新增了Stream,IntStream,LongStream,DoubleStream等流式API,这些API代表多个支持串行和并行聚集操作的元素.上面的4个接口中,Stream是一个通用的 ...

  6. JDK8 Stream操作整理

    1,forEach this.quoteItemList.forEach(p -> p.setMode(mode)); 2,获取对话属性,去重后生成集合 List<String> p ...

  7. 【Java】【6】JDK8 Stream操作整理

    摘要: 1,List<EntityOld>转换为List<EntityNew> List<EntityOld> list = oldList; List<En ...

  8. java 集合stream操作

    分组 Map<Integer, List<T>> group = List.stream().collect(Collectors.groupingBy(T::getField ...

  9. stream操作 z

    常见并常用的stream一共有 文件流(FileStream), 内存流(MemoryStream), 压缩流(GZipStream), 加密流(CrypToStream), 网络流(NetworkS ...

  10. c++ stream操作杂记

    包含简单的读写文件,供初学者入门,stream目前包含三种,终端,文件,内存,注意宽字节. ) ; ) ; ] ; } pasting

随机推荐

  1. Amd,Cmd, Commonjs, ES6 import/export的异同点

    Amd,Cmd, Commonjs, ES6 import/export等均是模块化方案 1.Commonjs使用在Nodejs上,加载模块是同步的. 2.Amd是requirejs在推广过程中对模块 ...

  2. uni-app学习笔记之----页面跳转

    1.声明式跳转 <navigator url="/pages/detail/detail"> <button>跳转至详情页</button> & ...

  3. DPU02是一个高度集成的USB转UART的桥接控制器

    DPU02是一个高度集成的USB转UART的桥接控制器,该产品提供了一个简单的解决方案,可将RS-232设计更新为USB设计,并简化PCB组件空间.该DPU02包括了一个USB 2.0全速功能控制器. ...

  4. mysql sum 聚合计算后精度不准 出现多位小数点后的数

    解决办法 原收款单money 字段 为 decimal(28,8) 经过层层计算用到了 @total := ( beginning + @total + gather - verification ) ...

  5. Springboot+thymeleaf结合Vue,通过thymeleaf给vue赋值解决Vue的SEO问题

    前言 vue开发的项目有时候会有SEO的需求,由于vue是JavaScript框架,内容都在JavaScript和服务端,所以SEO效果很差.vue的服务端渲染又很难和现在成熟的springboot等 ...

  6. .ToList()前的OrderBy是起不到排序效果的【未解决】

    废话也不说了,直接上图 思考:很多时候我们都想通过Linq的OrderBy给数据集进行排序,这样确实是有效的,但是如果后面将数据集改成了ToList()的话是又会重新打乱排序方式的! 所以有个疑问需要 ...

  7. xfce-debian10 英文环境安装配置记录

    Centos还没有用利索(因为我听说debian是更纯正的社区开源项目???可是这对于我这样毫无技术菜鸟来说有什么关系呢???可是耐不住心中的悸动???悸动又从哪里了呢???哎,不管了),突然心血来潮 ...

  8. 微信小程序-关闭某个页面分享

    方式一: wx.hideShareMenu();    方式二:   

  9. linux用户权限与组

    less  /etc/passwd 查看用户文件 passwd tom[用户名] 修改密码 useradd suguihua[用户名] 新增用户名 vim  /etc/passwd 将xiaoqian ...

  10. 使用cutlass编译时,需要指定架构和sm

    对于Turing架构,nvcc需要加上选项 -gencode=arch=compute_75,code=sm_75   其他架构类似.