1
下面是Iterables.isEmpty()
(ref)的源代码:将Iterables投射到集合是否遍历所有元素?
public static boolean isEmpty(Iterable<?> iterable) {
if (iterable instanceof Collection) {
return ((Collection<?>) iterable).isEmpty();
}
return !iterable.iterator().hasNext();
}
我在所有元素想知道如果Iterables.isEmpty()
方法迭代如果给iterable
参数是一种类型的Set
,其延伸Collection
。铸造Iterable
到Collection
会导致完全迭代吗?如果是这样,为什么?如果不是,为什么不呢? Iterables.isEmpty()
is implemented as iterable.iterator().hasNext()
for non-Collection
s: