java 怎么知道Iterator有多少条记录
5个回答
2014-06-29 · 知道合伙人数码行家
关注
展开全部
您好,提问者:
如果有集合的话,直接集合.size()就搞定了。
另外非要用Iteraotr的话,如下代码:
List list = new ArrayList();
list.add("asd");
list.add(234);
list.add("asd");
int count = 0; //定义一个统计器
for(Iterator it = list.iterator(); it.hasNext();){
it.next();
count = count+1;//没循环一次,就让count加1.
}
System.out.println("Iterator总数:" + count);
展开全部
迭代器本身可以迭代,在迭代中计数即可计算所有条数
Iterator iter = list.iterator();
while(iter.hasNext()){
count++;
}
不过可以迭代的集合之类的一般都有size可以看条目数
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Iterator肯定有长度。通过反射,可以得到Iterator的长度。
Iterator是接口,楼主提到Iterator,一定是已经实现了List。把断点放在例如list.iterator(),能看到【expectedModCount】的成员,正是当前Iterator的长度。完整代码:
注意:当Iterator有remove()操作,expectedModCount会累加。
ArrayList<String> list = new ArrayList<>();
Iterator<?> it = list.iterator();
Field f = it.getClass().getDeclaredField("expectedModCount");
int size = (int)f.get(it);
//最后一步不能连点,例如:it.getClass().getDeclaredField("expectedModCount").get("it")
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Iterator中记录不是集合中的元素个数?
看还是你要表达另外的意思?
看还是你要表达另外的意思?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
it.size()
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |