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

Java的Stream实现对list实用操作【持续更新】

背景

在日常Java开发中会处理list数据,若是使用stream流,会让实现更简单,记录过程,方便备查。

一、排序

对list中元素进行排列

List<String> list = Arrays.asList("a1", "b2", "c3","a2","b4");
list = list.stream().sorted().collect(Collectors.toList());
System.out.print("返回结果为:"+list);

实现效果如下所示
在这里插入图片描述

二、最大值

在bean中获取某个属性的最大值。
代码如下所示。

@Test
public void testMax(){List<UserInfo> userList = new ArrayList<>();UserInfo oneUser = new UserInfo();oneUser.setUserId("111111");oneUser.setAge(20);oneUser.setName("wang");userList.add(oneUser);UserInfo twoUser = new UserInfo();twoUser.setUserId("222222");twoUser.setAge(24);twoUser.setName("li");userList.add(twoUser);userList.stream().max(Comparator.comparing(UserInfo::getAge)).ifPresent(maxAge -> System.out.println("最大年龄为:"+maxAge));
}

控制台打印效果如下。
在这里插入图片描述

最小值

如何取最小值
实现代码如下所示

@Test
public void testMin(){List<UserInfo> userList = new ArrayList<>();UserInfo oneUser = new UserInfo();oneUser.setUserId("111111");oneUser.setAge(20);oneUser.setName("wang");userList.add(oneUser);UserInfo twoUser = new UserInfo();twoUser.setUserId("222222");twoUser.setAge(24);twoUser.setName("li");userList.add(twoUser);userList.stream().min(Comparator.comparing(UserInfo::getAge)).ifPresent(minAge -> System.out.println("最小年龄为:"+minAge));
}

控制台打印日志如下所示。
在这里插入图片描述

http://www.dtcms.com/a/393993.html

相关文章:

  • 【AI智能体】Dify集成 Echarts实现数据报表展示实战详解
  • 【01】EPGF 架构搭建教程之 Anaconda 安装指南
  • 深度学习周报(9.15~9.21)
  • MCP实战:使用 LangGraph 和 MCP 协议无缝集成外部工具
  • 【嵌入式总线通信协议库】
  • 06.【Linux系统编程】命令行参数(给main传参)、环境变量(概念+使用)、进程的虚拟地址空间(用户实际访问的空间)
  • esp32墨水屏天气预测学习
  • LabelImg 操作指南:提高标注速度
  • redhat7.2迁移ssh免密到麒麟v10
  • Linux基操
  • 如何解决 pip install 安装报错 ModuleNotFoundError: No module named ‘protobuf’ 问题
  • EXCEL中公式和文字混合和数字自动变成大写金额
  • Linux软件安装与项目部署
  • Config-配置中心2.0
  • Meta 开源 MobileLLM-R1 系列小参数高效模型,颠覆大模型竞赛
  • 【论文阅读】One-Minute Video Generation with Test-Time Training
  • 玄鸟12600M矿机ETC/ETHW挖矿性能解析与技术参数分析
  • Rust_2025:阶段1:day7.1 类型转换
  • Composer在PHP项目中的手动类自动加载策略
  • kubeasz二进制部署k8s生产环境集群
  • 浏览器缓存
  • 【PyTorch】梯度检查点 checkpoint 实现源码剖析
  • 学习嵌入式的第三十九天——ARM——汇编
  • 解决AI摘要不显示的三种方案 -AIsummary插件
  • 企业网盘,基于 .NET 技术开发,用于构建安全高效的文件云存储和云管理平台。
  • AFNetWorking
  • vscode连接ubuntu18报Gilbc2.28错
  • 华为超节点 384 集群: AI 算力的架构革新与实践
  • mescroll-uni 完全指南——Vue3 setup格式
  • 动态规划算法的欢乐密码(六):子数组系列(下)