A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© \(^o^)/ 中级黑马   /  2014-4-22 14:00  /  752 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 \(^o^)/ 于 2014-4-23 09:57 编辑
  1. import java.util.*;
  2. class CollectionDemo
  3. {
  4. public static void main(String[] args)
  5. {

  6. method_get();

  7. }
  8. public static void method_get()
  9. {
  10. ArrayList a1=new ArrayList();

  11. a1.add("java01");
  12. a1.add("java02");
  13. a1.add("java03");
  14. a1.add("java04");

  15. Iterator it=a1.iterator();//获取迭代器,用于取出集合中的元素。

  16. while(it.hasNext())
  17. {
  18. sop(it.next());
  19. }

  20. }
复制代码

为什么在最后面输入sop(it.next())后才能将元素打印出来 而直接输入sop(it)就是错误的呢?it中不是已经存储了元素吗?

5 个回复

倒序浏览
Iterator it=a1.iterator();//获取迭代器,用于取出集合中的元素。 你这个it是迭代器,拿出其中的值 是it.next()
回复 使用道具 举报
it.hasNext()返回的是一个boolean类型的值表示it有没有下一个元素,it.next()则返回一个元素,而且指针会向后移一位。。。
回复 使用道具 举报
it中是已经储存的元素,但是你需要打印的是值啊……不能直接打印容器吧?
你需要烧水,锅里有水放在火上烧了,喝水的时候你也不会啃锅啊。
回复 使用道具 举报
it像是“游标”、“指针”这样的作用吧,a1.iterator()方法产生了一个实现Iterator接口的对象
回复 使用道具 举报
kuroro自走核炮 发表于 2014-4-22 14:11
it中是已经储存的元素,但是你需要打印的是值啊……不能直接打印容器吧?
你需要烧水,锅里有水放在火上烧 ...

你这个解释牛B 我一下就懂了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马