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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

接口型引用只能指向自己的子类对象,而这个对象不是被new出来的,而是通过集合的方法获取出来的;

ArrayList newAl = new ArrayList();
          
           Iterator it = al.iterator();//通过方法获取迭代器(相当于取元素的工具)
           while(it.hasNext())
           {
                  Object obj=it.next();
                 //对集合元素的操作
           }
迭代器是定义在集合内部的一个工具,通过它,可以遍历集合的元素,当然集合的数据结构不同,取出的动作也不同;

3 个回复

倒序浏览
迭代器就是从集合中取出元素的方式,理解为遍历ji集合。
使用迭代器取出集合中存储元素的三个步骤:
1,调用集合方法iterator()获取迭代器接口的实现类对象。
2,调用接口Iterator方法hasNext()判断集合中有没有下一个元素。
3,调用接口Iterator方法next()获取集合中的元素。
例:
  1.                 //创建集合对象ArrayList
  2.                 Collection con = new ArrayList();
  3.                 con.add("abc8");
  4.                 con.add("ABC1");
  5.                 con.add("abc3");
  6.                 con.add("ABC6");       
  7.                 //使用迭代器获取集合中的元素
  8.                 //集合的方法iterator获取迭代器接口的实现类对象
  9.                 Iterator it = con.iterator();
  10.                 //使用接口方法hasNext()判断,集合中有没有下一个可以被取出的对象
  11.                 //System.out.println(it.hasNext());
  12.                 //使用接口方法next()获取集合中的元素,返回值是Object类型
  13.                 while(it.hasNext()){
  14.                    Object o = it.next();
  15.                System.out.println(o);          
  16.                 }
复制代码

或者用foreach增强for循环遍历集合
  1.             for (Object o : con) {
  2.                         System.out.println(o);
  3.                 }
复制代码
回复 使用道具 举报
理解很好!
回复 使用道具 举报
就是很简单的 while循环 hasNext(); 判断有无下一元素没有跳出, it.next();取出元素
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马