在Java中,可以使用以下幾種方式來取兩個對象集合的差集:
List<Object> list1 = new ArrayList<>();
List<Object> list2 = new ArrayList<>();
List<Object> difference = new ArrayList<>();
for (Object obj1 : list1) {
boolean found = false;
for (Object obj2 : list2) {
if (obj1.equals(obj2)) {
found = true;
break;
}
}
if (!found) {
difference.add(obj1);
}
}
List<Object> difference = list1.stream()
.filter(obj -> !list2.contains(obj))
.collect(Collectors.toList());
List<Object> difference = (List<Object>) CollectionUtils.subtract(list1, list2);
需要注意的是,如果集合中的元素是自定義類的對象,需要重寫對象的equals方法和hashCode方法,以便正確比較對象是否相等。