一般Iterator也都是通过List等Collection的iterator方法实现的,而Collection等类都有size()方法。LZ可以看看JDK API帮助文档,搜下相关类。

解决方案 »

  1.   

    看下面的例子:
    public class ArrayList<E> extends AbstractList<E>
            implements List<E>, RandomAccess, Cloneable, java.io.Serializable
    ArrayList 实现了List接口public interface List<E> extends Collection<E> 
    list 继承自collection接口
    public interface Collection<E> extends Iterable<E> {
    Collection集成自Iterable接口
    上面只是举个例子,Iterator本身是接口,只有实际实现了接口的类才有长度,明白了吗,楼主问的有点问题
      

  2.   

    只要是集合类都有size()函数的。
      

  3.   

    楼主可以说下自己的需求和想法,正常情况下估计都是size()
      

  4.   

    iterator作为一个接口,并没有定义取得长度的方法
    单就iterator而论,没办法
      

  5.   

    好吧,很多年不写代码,也不知道该怎么表达我的问题,就直接贴代码吧
    下面代码是调用Oracle nosql API接口,那个接口返回的是个Iterator集合,
    遍历具体值是很方便,while就可以,但是我想不遍历就能拿到查询出来的总数
    我想知道的是,各位代码高手有没有简便的方法,比如类似于直接把得到的Iterator直接转成List这类集合什么,这样直接可以取Size了。        Iterator<KeyValueVersion> i =
    kvstore.storeIterator(Direction.UNORDERED, 0,
    myKey, kr, null);
    while (i.hasNext()) {
    Value v = i.next().getValue();
    System.out.println("Sub################:"+new String(v.getValue()));

    }
      

  6.   

    Iterator是一个迭代器,没有size()方法。集合类实现它,是为了能进行foreach遍历。如果你只想查看size的话。可以自己写一个公共方法吧,什么时间想用之间调用。