判断两个list集合里的对象某个属性值是否一样_Java基础系列——集合
时间: 2023-11-12 19:09:06 浏览: 223
java计算同一个list中是否有相同的值
5星 · 资源好评率100%
可以通过遍历两个list,依次比较每个对象的属性值是否相同来判断。具体步骤如下:
1. 遍历第一个list,取出每个对象的某个属性值。
2. 遍历第二个list,取出每个对象的相同属性值,并与第一个list的属性值进行比较。
3. 如果两个属性值相同,则继续比较下一个对象的属性值,否则说明两个list的对象属性值不一样,可以退出循环。
4. 如果第二个list中的所有对象属性值都与第一个list中的对象属性值不一样,则说明两个list集合里的对象某个属性值不一样。
示例代码如下:
```java
public boolean isSameProperty(List<Object> list1, List<Object> list2, String propertyName) {
if (list1.size() != list2.size()) {
return false;
}
for (int i = 0; i < list1.size(); i++) {
Object obj1 = list1.get(i);
Object obj2 = list2.get(i);
try {
Field field = obj1.getClass().getDeclaredField(propertyName);
field.setAccessible(true);
Object value1 = field.get(obj1);
Object value2 = field.get(obj2);
if (!value1.equals(value2)) {
return false;
}
} catch (Exception e) {
e.printStackTrace();
return false;
}
}
return true;
}
```
其中,list1和list2分别表示两个list集合,propertyName表示需要比较的属性名称。函数返回值为boolean类型,表示两个list集合里的对象某个属性值是否一样。
阅读全文