日期:2014-05-20  浏览次数:21443 次

Iterator如何最方便的取得Size
如题,JAVA类Iterator除了遍历一遍自己计数外,有其他更好的方法得到类似于List的Count值不?

------解决方案--------------------
一般Iterator也都是通过List等Collection的iterator方法实现的,而Collection等类都有size()方法。LZ可以看看JDK API帮助文档,搜下相关类。
------解决方案--------------------
看下面的例子:
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本身是接口,只有实际实现了接口的类才有长度,明白了吗,楼主问的有点问题
------解决方案--------------------
只要是集合类都有size()函数的。
------解决方案--------------------
size()
------解决方案--------------------
楼主可以说下自己的需求和想法,正常情况下估计都是size()
------解决方案--------------------
size啊。
------解决方案--------------------
iterator作为一个接口,并没有定义取得长度的方法
单就iterator而论,没办法
------解决方案--------------------
Iterator是一个迭代器,没有size()方法。集合类实现它,是为了能进行foreach遍历。如果你只想查看size的话。可以自己写一个公共方法吧,什么时间想用之间调用。