HashSet
的containsAll()
是否在检查元素之前比较集合大小?
最佳答案
HashSet
扩展了AbstractSet
,这又扩展了AbstractCollection
(定义了containsAll
方法)。您可以找到AbstractCollection
here的来源。您会发现containsAll
(line 292)被实现为:
public boolean containsAll(Collection<?> c) {
Iterator<?> e = c.iterator();
while (e.hasNext())
if (!contains(e.next()))
return false;
return true;
}
因此,不对集合大小进行比较。