Java List 是否存在 判断对象属性
时间: 2024-05-04 19:15:11 浏览: 213
可以使用Java 8的Stream API来判断List中是否存在对象属性。
假设有一个Student类:
```
public class Student {
private String name;
private int age;
// 省略getters和setters
}
```
现在有一个List<Student>,需要判断是否存在某个学生的名字为“张三”:
```
List<Student> students = new ArrayList<>();
students.add(new Student("张三", 18));
students.add(new Student("李四", 19));
students.add(new Student("王五", 20));
boolean isExist = students.stream()
.anyMatch(student -> "张三".equals(student.getName()));
System.out.println(isExist);
```
输出结果为true,说明存在名字为“张三”的学生。
如果需要判断年龄是否大于等于18岁:
```
boolean isExist = students.stream()
.anyMatch(student -> student.getAge() >= 18);
System.out.println(isExist);
```
输出结果为true,说明存在年龄大于等于18岁的学生。
相关问题
java8 list实体对象 判断属性最大值和最小值
可以使用 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 属性是否为最大值或最小值。
java for循环判断当前对象属性和前一个对象属性是否相同
假设你有一个对象列表,每个对象都有一个属性叫做`attribute`,你想要遍历这个列表,判断当前对象的`attribute`是否与前一个对象的`attribute`相同,可以使用以下代码:
```java
List<MyObject> objects = ... // 假设这是你的对象列表
String previousAttribute = null; // 用来记录前一个对象的attribute
for (MyObject obj : objects) {
if (previousAttribute != null && !previousAttribute.equals(obj.getAttribute())) {
// 如果前一个对象的attribute不为null,并且当前对象的attribute与前一个对象的不相同
// 这里可以加入你想要执行的逻辑
}
previousAttribute = obj.getAttribute(); // 更新previousAttribute
}
```
在循环中,我们用`previousAttribute`来记录前一个对象的`attribute`,初始值为`null`。在遍历每个对象时,我们首先判断`previousAttribute`是否为`null`,如果不为`null`,说明我们已经遍历过至少一个对象了,那么我们就可以判断当前对象的`attribute`是否与前一个对象的`attribute`相同。如果不相同,就可以执行你想要执行的逻辑。最后,我们把`previousAttribute`更新为当前对象的`attribute`,以便下一次循环使用。
阅读全文