HashSetcontainsAll()是否在检查元素之前比较集合大小?

最佳答案

HashSet扩展了AbstractSet,这又扩展了AbstractCollection(定义了containsAll方法)。您可以找到AbstractCollection here的来源。您会发现containsAllline 292)被实现为:

public boolean containsAll(Collection<?> c) {
    Iterator<?> e = c.iterator();
    while (e.hasNext())
        if (!contains(e.next()))
            return false;
    return true;
}


因此,不对集合大小进行比较。

10-08 03:43