是否有一种简单的方法可以使用Guava
检查我的Collection
是否包含相同的元素?
答案 0 :(得分:2)
我认为你不需要番石榴。您可以简单地将Collection
中的所有对象传递到Set
,如果您的Set
大小为1
,则Collection
中的所有对象都会传递将被视为相等(因为,根据定义,Set
不能包含重复项)。例如:
public boolean checkCollectionForEqualObjects(Collection<SomeObject> collection) {
Set<SomeObject> set = new HashSet<>();
for (SomeObject object : collection) {
set.add(object);
}
return set.size() == 1;
}
更好的是,正如@blgt建议的那样,HashSet
类has a constructor带有Collection
参数,所以你可以这样做:
public boolean checkCollectionForEqualObjects(Collection<SomeObject> collection) {
return new HashSet<>(collection).size() == 1;
}