java8 list实体对象 判断属性最大值和最小值
时间: 2024-03-09 18:51:05 浏览: 167
可以使用 Java 8 中的 Stream API 对 List 中的实体对象进行操作,获取其中一个属性的最大值和最小值,并判断某个实体对象的该属性是否为最大值或最小值。假设实体对象为 Entity,属性为 value,代码如下:
```
List<Entity> list = new ArrayList<>();
// 添加实体对象到列表中
OptionalInt maxValue = list.stream()
.mapToInt(Entity::getValue)
.max();
if (maxValue.isPresent()) {
int max = maxValue.getAsInt();
boolean isMax = list.stream()
.anyMatch(entity -> entity.getValue() == max);
// 判断某个实体对象的 value 属性是否为最大值
}
OptionalInt minValue = list.stream()
.mapToInt(Entity::getValue)
.min();
if (minValue.isPresent()) {
int min = minValue.getAsInt();
boolean isMin = list.stream()
.anyMatch(entity -> entity.getValue() == min);
// 判断某个实体对象的 value 属性是否为最小值
}
```
以上代码将列表中的实体对象的 value 属性映射为 int 类型,然后使用 max() 和 min() 方法获取最大值和最小值。使用 anyMatch() 方法判断某个实体对象的 value 属性是否为最大值或最小值。
阅读全文