Java 8的流(Stream)和Lambda表达式求List中age最大和最小的年龄
 
 
 
- 要查询一个包含字符串类型age字段的User对象的列表(List)中的最大和最小年龄,你可以使用Java 8的流(Stream)和Lambda表达式来实现。
import java.util.*;  class User {  private String name;  private String age;  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),以防列表为空。