Java Stream 获取对象中最大值和最小值属性
要获取对象中的最大值和最小值的属性,可以使用流的 'max' 和 'min' 方法。
假设有一个包含对象的列表,对象有一个属性 'value',可以按照以下步骤获取最大值和最小值的属性:
- 使用 'stream' 方法将列表转换为流。
- 使用 'max' 方法获取最大值的对象,传入一个 'Comparator' 比较器,比较器根据对象的 'value' 属性进行比较。
- 使用 'min' 方法获取最小值的对象,同样传入一个 'Comparator' 比较器。
- 使用 'get' 方法获取最大值和最小值的对象。
- 使用对象的 'getValue' 方法获取最大值和最小值的属性值。
以下是示例代码:
List<MyObject> objects = new ArrayList<>();
// 添加对象到列表中
Optional<MyObject> maxObject = objects.stream()
.max(Comparator.comparing(MyObject::getValue));
Optional<MyObject> minObject = objects.stream()
.min(Comparator.comparing(MyObject::getValue));
if (maxObject.isPresent() && minObject.isPresent()) {
MyObject max = maxObject.get();
MyObject min = minObject.get();
int maxValue = max.getValue();
int minValue = min.getValue();
// 使用最大值和最小值的属性值进行需要的操作
}
在上面的代码中,假设 'MyObject' 类有一个名为 'getValue' 的方法,返回对象的 'value' 属性。根据需要修改相应的属性和类型。
原文地址: https://www.cveoy.top/t/topic/o2hJ 著作权归作者所有。请勿转载和采集!