Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java HashSet';s containsAll()在检查元素之前比较集合大小?_Java - Fatal编程技术网

Java HashSet';s containsAll()在检查元素之前比较集合大小?

Java HashSet';s containsAll()在检查元素之前比较集合大小?,java,Java,HashSet的containsAll()是否在检查元素之前比较集合大小?HashSet扩展AbstractSet,后者反过来扩展AbstractCollection(定义containsAll方法)。您可以找到AbstractCollection的源代码。您会发现containsAll()的实现方式如下: public boolean containsAll(Collection<?> c) { Iterator<?> e = c.iterator();

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

HashSet
扩展
AbstractSet
,后者反过来扩展
AbstractCollection
(定义
containsAll
方法)。您可以找到
AbstractCollection
的源代码。您会发现
containsAll
()的实现方式如下:

public boolean containsAll(Collection<?> c) {
    Iterator<?> e = c.iterator();
    while (e.hasNext())
        if (!contains(e.next()))
            return false;
    return true;
}
public boolean containsAll(集合c){
迭代器e=c.迭代器();
while(e.hasNext())
如果(!包含(如next())
返回false;
返回true;
}

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

HashSet
扩展了
AbstractSet
,后者反过来扩展了
AbstractCollection
(定义了
containsAll
方法)。您可以找到
AbstractCollection
的源代码。您会发现
containsAll
()的实现方式如下:

public boolean containsAll(Collection<?> c) {
    Iterator<?> e = c.iterator();
    while (e.hasNext())
        if (!contains(e.next()))
            return false;
    return true;
}
public boolean containsAll(集合c){
迭代器e=c.迭代器();
while(e.hasNext())
如果(!包含(如next())
返回false;
返回true;
}

所以没有,没有对集合大小进行比较。

什么是
java.util.containsAll
?你是说收藏品吗?一般来说,检查任何尺寸都有什么意义?我只能在Set.java.util.Set.containsAll()@LaRRy上调用它时才能看到原因。你为什么不看看源代码呢?免费提供。和JDK捆绑在一起。我找不到源代码。说真的,如果你能给我一个链接,那就是这个问题的答案。@LaRRy。您的
JDK
主文件夹中有它。你在用Windows吗?如果是,在JDK主文件夹中,找到一个压缩的
src
文件。这是课程代码。什么是
java.util.containsAll
?你是说收藏品吗?一般来说,检查任何尺寸都有什么意义?我只能在Set.java.util.Set.containsAll()@LaRRy上调用它时才能看到原因。你为什么不看看源代码呢?免费提供。和JDK捆绑在一起。我找不到源代码。说真的,如果你能给我一个链接,那就是这个问题的答案。@LaRRy。您的
JDK
主文件夹中有它。你在用Windows吗?如果是,在JDK主文件夹中,找到一个压缩的
src
文件。这是课程代码。