Java 8的流(Stream)和Lambda表达式求List<User>中age最大和最小的年龄

Java 8的流(Stream)和Lambda表达式求List中age最大和最小的年龄

  • 要查询一个包含字符串类型age字段的User对象的列表(List)中的最大和最小年龄,你可以使用Java 8的流(Stream)和Lambda表达式来实现。
java 复制代码
import java.util.*;  
  
class User {  
    private String name;  
    private String age;  
  
    // 构造函数、getter和setter方法等...  
  
    public String getName() {  
        return name;  
    }  
  
    public void setName(String name) {  
        this.name = name;  
    }  
  
    public String getAge() {  
        return age;  
    }  
  
    public void setAge(String age) {  
        this.age = age;  
    }  
}  
  
public class Main {  
    public static void main(String[] args) {  
        List<User> users = new ArrayList<>();  
        // 添加用户对象到列表中...  
  
        // 查询最大和最小年龄  
        int minAge = users.stream()  
                          .mapToInt(user -> Integer.parseInt(user.getAge()))  
                          .min()  
                          .orElse(-1); // 提供一个默认值,以防列表为空  
        int maxAge = users.stream()  
                          .mapToInt(user -> Integer.parseInt(user.getAge()))  
                          .max()  
                          .orElse(-1); // 提供一个默认值,以防列表为空  
  
        System.out.println("最小年龄:" + minAge);  
        System.out.println("最大年龄:" + maxAge);  
    }  
}
  • 在上面的示例中,我们首先创建了一个包含User对象的列表。然后,我们使用流操作来将每个用户的年龄字符串转换为整数,并使用min()和max()方法来找到最小和最大的年龄。最后,我们打印出结果。请注意,我们在min()和max()方法中提供了一个默认值(-1),以防列表为空。
相关推荐
xiaoqiMikko26 分钟前
一条 CVSS 9.0 的 RCE,advisory 里没写修复版是哪个 —— fastjson 16723 的字段考古
java·安全
程序员贺加贝33 分钟前
一次 SaaS ERP 主数据生命周期设计:Policy、PreCheck 与结构化阻断原因
java·后端·架构·saas
XZ-0700011 小时前
week2-1-可视化
开发语言·python
catino1 小时前
spring-Bean
java·后端·spring
Java后端的Ai之路1 小时前
14、Python - 责任链模式
服务器·开发语言·人工智能·python·责任链模式
深入云栈1 小时前
Netty 4.2.x 源码深度解析 (十一):EventExecutor 业务线程池 —— 防止 IO 线程阻塞的并发模型
java·后端
吴声子夜歌1 小时前
Java——基本类型
java·开发语言
「QT(C++)开发工程师」1 小时前
C++11 std::unique_ptr — 独占所有权的智能指针
c语言·开发语言·c++·qt
不正经学生2 小时前
C语言动态内存管理(上):堆上的自由与责任
c语言·开发语言·c++·算法·面试
AI情绪识别开源2 小时前
检信AI高一分班分科智选评估系统 v2.0测试报告
开发语言·数据结构·人工智能·科技