原csdn地址https://blog.cs|

蜗牛使劲冲

园龄:7年6个月粉丝:3关注:10

📂java
🔖java
2021-05-28 11:05阅读: 8评论: 0推荐: 0

stream使用汇总

整理了下java使用stream处理list的几个便捷的方法

准备数据

 List<KnowledgeInfoTable> knowledgeInfoTables = knowledgeInfoMapper.selectAllEffective();
  • 提取ids
List<Long> collect = knowledgeInfoTables.stream().map(KnowledgeInfoTable::getKnowledgeInfoId).collect(Collectors.toList());
  • 过滤
List<KnowledgeInfoTable> collect = knowledgeInfoTables.stream().
filter(e -> e.getKnowledgeInfoId() != 473730496668160L).collect(Collectors.toList());
  • 组map
 Map<Long, Long> collect = knowledgeInfoTables.stream().collect(Collectors.toMap(KnowledgeInfoTable::getKnowledgeInfoId, KnowledgeInfoTable::getSubjectId));

组groupBy

Map<Long, List<KnowledgeInfoTable>> collect = knowledgeInfoTables.stream().collect(Collectors.groupingBy(KnowledgeInfoTable::getKnowledgeInfoId));

先转其他dto,然后抽出取id为键名,dto为键值

Map<String, CollectDetailResponseDTO> newsByIdCollect = new HashMap<>();
newsByIdCollect = newsById.getData().stream().map(newsResponseDTO -> getCollectDetailResponseDTO(newsResponseDTO))
        .collect(Collectors.toMap(CollectDetailResponseDTO::getId, collectDetailResponseDTO -> collectDetailResponseDTO, (v1, v2) -> v2));

本文作者:蜗牛使劲冲

本文链接:https://www.cnblogs.com/warrenwt/p/18074537

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   蜗牛使劲冲  阅读(8)  评论(0编辑  收藏  举报  
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起