java – 什么是最好的方法来获取计数/长度/大小的迭代器?

是否有一个“计算”的快速方法来获取迭代器的计数?

int i = 0;
for ( ; some_iterator.hasNext() ; ++i ) some_iterator.next();

…似乎是浪费CPU周期。

最佳答案
如果你只有迭代器,那么这就是你必须做的 – 它不知道有多少项目需要迭代,所以你不能查询它的结果。

然而,许多迭代器来自集合,你可以经常查询它们的大小。如果它是一个用户做的类,你得到的迭代器,你可以看看提供一个size()方法。

总之,在你只有迭代器的情况下,没有更好的方法,但更多的是你不能访问底层的集合或对象,你可以从中获得大小直接。

转载注明原文:java – 什么是最好的方法来获取计数/长度/大小的迭代器? - 代码日志