jdk1.8新特性stream流简单操作

jdk1.8新特性stream流简单操作

1)过滤器使用:

    List<ReadVO> authVOS =
    readVOs.stream().filter(t -> !userIds.contains(t.getUserId())).collect(Collectors.toList());
    
    解释:通过对readVOs进行stream流操作,过滤条件是,从readVOs里面取出userId属性,与集合userIds进行比较,
    过滤掉userId在userIds里面的属性,保留readVOs集合中属性userId不在userIds里面的ReadVO对象;

2)快速生成某个集合对象中某个属性的集合:

    List<Long> userIds =
    msgUserAuthVOs.stream().map(MsgUserAuthVO::getUserId).collect(Collectors.toList());
    
    解释:从msgUserAuthVOs集合对象中取出userId生成对应userId的集合

3)从list的对象中取出两个属性生成map键值对:

    Map<Long,String> map = customVOs.stream()
    .collect(Collectors.toMap(CustomVO::getId, CustomVO::getCustomNo, (v1, v2) -> v1));
    
    解释:从customVOs对象中取出id属性作为map的key,customNo属性作为map的value,
    第三个属性 (v1, v2) -> v1代表map的key如果重复,则去重,这种流操作,如果出现重复的key而没有做此操作,会报错;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值