stream 类型转换_Java8新特性之Stream(下)|乐字节

接上一篇:《Java8新特性之stream》,下面继续接着讲Stream

6857f46d3c7dbd334de84887b4497a30.png

5、流的中间操作

常见的流的中间操作,归为以下三大类:筛选和切片流操作、元素映射操作、元素排序操作:

操作描述筛选和切片filter(T -> boolean):保留 boolean 为 true 的元素 limit(long n):返回前 n 个元素 skip(long n):去除前 n 个元素 distinct():去除重复元素,这个方法是通过类的 equals 方法来判断两个元素是否相等的映射map(T -> R):将流中的每一个元素 T 映射为 R(类似类型转换) flatMap(T -> Stream): 将流中的每一个元素 T 映射为一个流,再把每一个流连接成为一个流排序sorted() / sorted((T, T) -> int):如果流中的元素的类实现了 Comparable 接口,即有自己的排序规则,那么可以直接调用 sorted() 方法对元素进行排序,如 Stream

5.1、筛选和切片

例如以订单数据为例,在做报表展示时,会根据订单状态、用户信息、支付结果等状态来分别展示(即过滤和统计展示)

定义订单Order类

public class Order { // 订单id private Integer id; // 订单用户id private Integer userId; // 订单编号 private String orderNo; // 订单日期 private Date orderDate; // 收货地址 private String address; // 创建时间 private Date createDate; // 更新时间 private Date updateDate; // 订单状态 0-未支付 1-已支付 2-代发货 3-已发货 4-已接收 5-已完成 private Integer status; // 是否有效 1-有效订单 0-无效订单 private Integer isValid;  //订单总金额 private Double total; /** 此处省略getter/setter方法 */}

测试

public static void main(String[] args) { Order order01 = new Order(1,10,"20190301
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值