小记Javastream中peek()-创新互联

peek 函数:接受一个函数作为参数。这个函数会被应用到每个元素上,并将结果元素映射成一个新的元素。

站在用户的角度思考问题,与客户深入沟通,找到来安网站设计与来安网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:网站建设、成都做网站、企业官网、英文网站、手机端网站、网站推广、域名申请虚拟主机、企业邮箱。业务覆盖来安地区。

相比于类似 foreach,更类似于lambda中的map函数。

map函数:接受一个函数作为参数。这个函数会被应用到每个元素上,并将返回值映射成一个新的元素。

简单来说,map函数就是对流对象(集合中的所有对象)进行操作并返回一个Stream对象,这个Object对象可以是源对象的类型,也可以是其他类型。

当返回类型为源对象类型时,map函数=peek函数

贴段代码

Listcollect = modelList
        .stream()
        .filter(it ->relationBaseDao.selectByExact(ModelSO.getInstance(it)).size() == 0)
        .map(it->{it.setId(RandomUtil.ssid());return it;})
        .collect(Collectors.toList());

这里的map可以替换为peek

Listcollect = modelList
        .stream()
        .filter(it ->relationBaseDao.selectByExact(ModelSO.getInstance(it)).size() == 0)
        .peek(it->it.setId(RandomUtil.ssid()))
        .collect(Collectors.toList());

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


本文题目:小记Javastream中peek()-创新互联
标题来源:http://bzwzjz.com/article/dppcpp.html