stream使用

根据书籍Id查询句子:过滤,去重

// 获取到对应页码的句子信息: 文字不为空, code!=0, 文字不重复
collect = resourceCodes.stream().filter(r -> StringUtils.isNotBlank(r.getText()) && r.getCode() != 0)
        .collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>((o1, o2) -> {
            if (o1.getText().compareTo(o2.getText()) == 0) {
                return 0;
            } else {
                return o1.getText().compareTo(o2.getText());
            }
        })), ArrayList::new));

双重便利:筛选

resCodeList.forEach(resourceCode -> {
    EbookResourceCodeAppOralTes codeAppOralTes = new EbookResourceCodeAppOralTes();
    codeAppOralTes.setResourceCode(resourceCode);
    Optional<AppOralTestRecord> optional = aotList.stream().filter(
            info -> info.getOralTestType().equals(oralTestType) && info.getCode() == resourceCode.getCode())
            .findFirst();
    if (optional.isPresent()) {
        AppOralTestRecord appOralTestRecord = optional.get();
        appOralTestRecord.setBestUrl(FileUtils.getFullRequestPath(appOralTestRecord.getBestUrl(), null, null,
                ConstantsEnum.CdnUrllevel.DEFAULT, ConstantsEnum.CdnType.OSS_CDN));
        codeAppOralTes.setAppOralTestRecord(appOralTestRecord);
    }
    EbookResourceCodeAppOralTesList.add(codeAppOralTes);
});
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值