java判断两个集合其中相同一个属性的值是否相等
时间: 2023-08-07 15:06:41 浏览: 114
可以通过遍历两个集合,比较每个元素的相同属性值是否相等来判断。具体实现可以参考以下代码:
```java
public boolean compareCollections(List<Object> list1, List<Object> list2, String propertyName) {
// 判断两个集合是否为空或者大小是否相等
if (list1 == null || list2 == null || 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 (!Objects.equals(value1, value2)) {
return false;
}
} catch (Exception e) {
e.printStackTrace();
return false;
}
}
return true;
}
```
其中,list1 和 list2 分别为需要比较的两个集合,propertyName 为需要比较的属性名。该方法返回一个 boolean 值,表示两个集合的相同属性值是否相等。
阅读全文