java获取List 类里面的某个元素最大值
时间: 2024-02-01 13:02:08 浏览: 105
java求最大值
可以使用Java 8的Stream API来实现获取List中某个元素的最大值,具体实现如下:
假设要获取List<Integer>中元素的最大值,代码如下:
```
List<Integer> list = Arrays.asList(1, 2, 3, 4, 5);
Integer max = list.stream().max(Integer::compareTo).get();
System.out.println("List中元素的最大值为:" + max);
```
解释如下:
- 通过Arrays.asList()方法创建一个List<Integer>对象。
- 使用stream()方法将List转换成Stream对象。
- 使用max()方法获取最大值,该方法接受一个Comparator对象作为参数,这里使用Integer::compareTo方法引用来实现比较。
- 使用get()方法获取最大值。
如果要获取List中对象的某个属性的最大值,可以使用Lambda表达式来实现,例如获取List<Student>中age属性的最大值,代码如下:
```
List<Student> list = Arrays.asList(new Student("Alice", 18), new Student("Bob", 20), new Student("Charlie", 22));
Integer maxAge = list.stream().map(Student::getAge).max(Integer::compareTo).get();
System.out.println("List中age属性的最大值为:" + maxAge);
```
其中,Student是一个包含name和age属性的类,代码如下:
```
class Student {
private String name;
private int age;
public Student(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
}
```
解释如下:
- 通过Arrays.asList()方法创建一个List<Student>对象。
- 使用stream()方法将List转换成Stream对象。
- 使用map()方法将每个Student对象映射成其age属性。
- 使用max()方法获取最大值,这里同样使用Integer::compareTo方法引用来实现比较。
- 使用get()方法获取最大值。
阅读全文