如果您只有迭代器,那么这就是您要做的-它不 知道
还有多少项目要迭代,因此您无法查询该结果。有一些实用程序方法似乎可以做到这一点(例如
Iterators.size()Guava中的方法),但是在它们的下面仅执行大致相同的操作。
但是,许多迭代器来自集合,您通常可以查询集合的大小。如果它是用户制作的类,那么您要为其提供迭代器,则可以在该类上提供size()方法。
简而言之,在 只有 迭代器的情况下,没有更好的方法了,但是比起没有访问权的更多途径,您可以直接从底层集合或对象中获取大小。

如果您只有迭代器,那么这就是您要做的-它不 知道
还有多少项目要迭代,因此您无法查询该结果。有一些实用程序方法似乎可以做到这一点(例如
Iterators.size()Guava中的方法),但是在它们的下面仅执行大致相同的操作。
但是,许多迭代器来自集合,您通常可以查询集合的大小。如果它是用户制作的类,那么您要为其提供迭代器,则可以在该类上提供size()方法。
简而言之,在 只有 迭代器的情况下,没有更好的方法了,但是比起没有访问权的更多途径,您可以直接从底层集合或对象中获取大小。