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
文件。这是课程代码。