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. socket的客户端和服务端(Windows控制台程序)

    首先是两个程序,分别是socket的客户端和服务端.(在windows系统vc6.0编译)服务器端:#include <Winsock2.h>#include <stdio.h> ...

  2. LocalDateTime与LocalDate

    时间新特性 新生事物出现,必定是对旧事物的完善或者是缺陷的弥补. 本文章介绍LocalDate.LocalDateTime.在多线程的情况,相比较于Date.Calendar.SimpleDateFo ...

  3. springcloud(三) - 负载均衡Ribbon

    功能介绍 基本保证每个服务不同的ip接收到的请求数量是一样的,确保在微服务下没有没有那个服务器负载过多而另外一个闲置. IRule:根据规则获取制定的服务 规则列表 RoundRobinRule:轮询 ...

  4. fs.access(path[, mode], callback)

  5. js实现点击按钮或div显示与隐藏div

    var box = document.getElementById("box"); var btn = document.getElementById("btn" ...

  6. mac os 11 Big Sur 根目录无法写入解决办法

    本文目的是解决无法在 / 目录下创建目录的问题: 关闭SIP 重启机器,按住 command + R 选择 磁盘工具 在导航栏 窗口 中打开 终端 ,执行如下命令: csrutil status ## ...

  7. CSS 多栏布局 固定布局 流动布局

    正常情况下都应该保持元素 height 属性的默认值 auto  . 多栏布局,某一栏目占的总宽度包括它的,Width,margin,padding ,border. CSS3中,应用 box-siz ...

  8. centos 防火墙开放端口

    centos防火墙开放端口 开启防火墙 systemctl start firewalld 开放指定端口 firewall-cmd --zone=public --add-port=<PORT& ...

  9. C++ Error:C2011: 'struct' type redefinition

    C++ Error:C2011: 'struct' type redefinition        在c语言中,对同一个变量或者函数进行多次声明是不会报错的.所以如果h文件里只是进行了声明工作,即使 ...

  10. 安装centos7 报错no controller found踩坑

    安装centos7.9时出现如上报错,特记录解决方法: 1.查看硬盘 出现如上报错时,耐心等待,等错误提醒不断滚动时,一会出现命令行输入界面,输入命令: [root@localhost ~]# ls ...