记录几个常用的stream流操作

记录几个常用的stream流操作

Scroll Down

过滤筛选出集合中元素属性Status为0的元素

List<LiveStreamVo> liveStreamListWait = liveStreamVo.stream().filter(vo -> (0 == vo.getStatus())).collect(Collectors.toList());

集合中的元素按照某属性字段倒序(本案例为按照时间倒序,默认为升序,倒序加.reversed())

List<LiveStreamVo> liveStreamListWait = liveStreamVo.stream().sorted(Comparator.comparing(LiveStreamVo::getStartTime).reversed()).collect(Collectors.toList());

集合中的元素按照某属性进行分组

Map<String, List<ExportActivityOrderVo>> collect = activityOrderVos.stream().collect(Collectors.groupingBy(ExportActivityOrderVo::getActivityId));

List集合转Map结构

Map<String, ActivityMainInfoVo> activityTypeMap = activityMainRData.stream().collect(Collectors.toMap(ActivityMainInfoVo::getId, v -> v));

利用Stream流进行分页

List<ActivityMain> collect = activityMains.stream().skip((page.getCurrent() - 1) * page.getSize())

利用Stream流,获取集合中元素的某一属性,(本案例返回ActivityCode集合)

List<String> activityCodeList= activityMainRData.stream().map(ActivityMainInfoVo::getActivityCode).collect(Collectors.toList());