当前位置: 首页 > news >正文

Springboot利用Stream过滤集合方法总结

1、获取集合元素中指定属性值的集合

List<String>columnNames=list.stream().map(DataDto::getName).collect(Collectors.toList());

2、过滤集合中符合指定过滤条件的元素集合

例如获取list集合中,id等于“1000”,title等于“安排情况”的所有元素集合。

List<DataDto>filterList=list.stream().filter(s->s.getId().equals("1000")).filter(s->s.getTitle1().equals("安排情况")).collect(Collectors.toList());

3、利用stream给集合去重

List<String>filterList=list.stream().distinct().collect(Collectors.toList());

4、获取集合中元素某个属性的集合并去重

List<Double>filterList=list.stream().map(DataDto::getMount).distinct().collect(Collectors.toList());

5、获取集合元素指定属性的合计值

DoublesumResult=list.stream().mapToDouble(n->Double.parseDouble(n.getMount()==null?"0":n.getMount())).summaryStatistics().getSum();

6、按照集合元素某一个属性值排序

从小到大排序

List<Person>sortedList=people.stream().sorted(Comparator.comparing(Person::getAge))// 按age属性升序.collect(Collectors.toList());

从大到小排序

List<Person>sorted=people.stream().sorted(Comparator.comparing(Person::getAge).reversed()).collect(Collectors.toList());

7、根据集合元素的某一个属性值去重,保持原有顺序

例如:根据dataList元素中的id属性去重,dataList数据如下:
1、DataDto(id=3, name=“张三”)
2、DataDto(id=2, name=“李四”)
3、DataDto(id=3, name=“王五”) ← 和第1条id重复,删除
4、DataDto(id=1, name=“赵六”)
去重后的结果:
1、 DataDto(id=3, name=“张三”)
2、 DataDto(id=2, name=“李四”)
3、DataDto(id=1, name=“赵六”)

List<DataDto>dataList=dataList.stream().collect(Collectors.toCollection(()->newTreeSet<>(Comparator.comparing(DataDto::getId)))).stream().collect(Collectors.toList());
http://www.jsqmd.com/news/806740/

相关文章:

  • 如何永久保存你的微信聊天记忆?这款开源工具让你轻松备份所有珍贵对话
  • VLA-Adapter LoRA微调技术详解:如何在有限资源下实现最佳性能
  • 告别NIfTI恐惧症:手把手教你用Python和SimpleITK搞定BraTS 2018数据集预处理
  • Windows光标主题定制:从设计原理到个性化部署实践
  • BUSMASTER LDF编辑工具实战:从零构建汽车LIN网络描述文件
  • 终极指南:如何设计优秀的HTTP API - 从Heroku平台API提取的完整经验总结 [特殊字符]
  • 基于Ollama的本地大模型自动化编程实践指南
  • 美国通信业去监管趋势下的技术生态变革与产业应对策略
  • ARM MPAM缓存监控机制解析与应用实践
  • AI视频生成进入“空间可信时代”:Sora 2调用3D Gaussian进行物理一致运动建模的2类失效场景与修复方案
  • GB/T 4857.2-2005 包装运输包装件温湿度调节处理标准全解析GB/T 4857.2-2005 包装运输包装件温湿度调节处理标准全解析
  • DocCraft:基于代码即文档理念的自动化API文档生成工具
  • 2026年热门的收缩膜/PE收缩膜厂家对比推荐 - 品牌宣传支持者
  • AuraeScript实战教程:用TypeScript替代YAML的简单方法
  • 3分钟搞定!Windows用户必看的苹果设备驱动终极安装指南
  • 新手别怕!用WebGoat的General单元,手把手带你玩转HTTP代理和开发者工具
  • 从英特尔事件看大型项目管理中的风险沟通与员工权益保障
  • 珠海市高新技术企业资质认定流程及时间
  • 强化学习环境GPU加速与记忆模型性能优化实践
  • 别再微调模型了!Claude 3.5 Sonnet新增3类零样本指令模板:Prompt工程师的最后护城河正在崩塌?
  • 从零搭建机器人抓取系统:OpenClaw工作坊实践指南
  • Knowledge-Book:面向中高级开发者的AI知识库,理论与实践并重
  • msgp:终极Go语言MessagePack代码生成器完全指南
  • GitLab重组:废除CREDIT价值观,押注「Agentic时代」,股价与裁员引关注
  • AndroidOfferKiller终极指南:如何快速提升Android面试通过率
  • Azure Quickstart Templates 多区域部署高可用架构设计终极指南:5步构建企业级灾难恢复方案
  • cua_desktop_operator_cli_skill:用命令行自动化桌面操作的效率利器
  • 基于Arduino Pro Micro的薄膜键盘矩阵改造:DIY低成本模拟飞行外设
  • NanoSVG完整教程:从SVG文件解析到贝塞尔曲线渲染
  • vue心得