我需要获得相交集的大小,然后我需要使用公式中的大小。
Set<String> a;
Set<String> b;
a.retainAll(b).size();
// error: cannot invoke size() on primitive type boolean//
我试图以几种不同的方式做到这一点,但我的代码变得越来越复杂。谁能让我走上正确的道路?
感谢。
答案 0 :(得分:2)
根据documentation retainAll
方法返回boolean
- 是否已更改设置。您可以忽略此值。此方法的主要作用是修改集合a
,因此它包含一个交集。因此,解决方案是
a.retainAll(b);
int result = a.size();
请注意,此代码更改了集a
的内容。如果你需要保存它:
Set<String> intersection = new HashSet<String>(a);
inersection.retainAll(b);
int result = intersection.size();