Java8 Stream:2万字20个实例,玩转集合的筛选、归约、分组、聚合

作者:微信小助手

发布时间:2021-12-11T18:36:04

来源:

https://blog.csdn.net/mu_wind/article/details/109516995

Java8中的stream,可大幅提升咱们的开发效率,带大家看下stream到底有哪些常见的用法,一起来过一遍。
先贴上几个案例,水平高超的同学可以挑战一下:
  1. 从员工集合中筛选出 salary 大于 8000 的员工,并放置到新的集合里。
  2. 统计员工的最高薪资、平均薪资、薪资之和。
  3. 将员工按薪资从高到低排序,同样薪资者年龄小者在前。
  4. 将员工按性别分类,将员工按性别和地区分类,将员工按薪资是否高于 8000 分为两部分。
用传统的迭代处理也不是很难,但代码就显得冗余了,跟 Stream 相比高下立判。

1. Stream 概述

Java 8 是一个非常成功的版本,这个版本新增的 Stream ,配合同版本出现的 Lambda ,给我们操作集合(Collection)提供了极大的便利。
那么什么是 Stream
Stream 将要处理的元素集合看作一种流,在流的过程中,借助 Stream API 对流中的元素进行操作,比如:筛选、排序、聚合等。
Stream 可以由数组或集合创建,对流的操作分为两种:
  1. 中间操作,每次返回一个新的流,可以有多个。