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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 王者黑桃 中级黑马   /  2014-1-5 16:06  /  864 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

   
   Iterator接口是JAVA集合框架的成员,但它与Collection系列、Map系列的集合不一样:这两者主要用于盛装其他对象,而Iterator则用于遍历(即迭代访问)Collection集合中的元素。Iterator对象也被称为迭代器。
   Iterator接口隐藏了各种Collection实现类的底层细节,向应用程序提供了遍历Collection集合元素的同一编程接口,Iterator接口定义了如下三个方法:
   boolean hasNext():如果被迭代的集合元素还没有被遍历,则返回true。
   Object next():返回集合里下一个元素。
   Void remove():删除集合里上一次next方法返回的元素。
通过Iterator来遍历集合元素的程序代码:
package com.king.testcollection;

import java.util.ArrayList;
import java.util.Collection;
import java.util.HashSet;
import java.util.Iterator;

public class TestCollection {

        /**
         * @author 王者黑桃
         */
        public static void main(String[] args) {
                //创建一个集合
                Collection names=new HashSet();
                names.add("猪八戒");
                names.add("沙和尚");
                names.add("孙悟空");
                //获取names集合对应的迭代器
                Iterator it=names.iterator();
                while(it.hasNext()){
                        //it.next()方法返回的数据类型是Object类型,需要强制类型转换
                        String name=(String)it.next();
                        System.out.println(name);
                        if(name.equals("沙和尚")){
                                //从集合中删除上次next方法返回的的元素
                                it.remove();
                        }
                        //对name变量赋值,不会改变集合元素本身
                        name="测试字符串";
                }
                System.out.println(names);
        }

}
从上面程序可以看出,Iterator仅用于遍历集合,Iterator本身并不提供盛装对象的能力。如果需要创建Iterator对象,则必须有一个迭代的集合。

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马