码迷,mamicode.com
首页 > 编程语言 > 详细

java 集合2(迭代器)

时间:2016-08-19 23:54:50      阅读:210      评论:0      收藏:0      [点我收藏+]

标签:

迭代器方法:(把迭代器想象成抓娃娃机的爪子)

hasNext()     问是否有元素可遍历,如果有元素可以遍历,返回true,否则返回false

工作原理:这一个迭代的过程是这样的,获取到迭代器时候迭代器有个指针,初始时

      指向集合的第一个元素。然后一个个的按顺序遍历,最后移动到集合中没有元素了。

                 (这是看源代码看的)

next()     获取元素//如果判断有那么就用该方法开始抓,一次只能抓一个

工作原理:

void  remove()    移除迭代器最后一次返回的元素(看下面代码

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

public class EX10 {

    public static void main(String[] args) {

        Collection c = new ArrayList();
        c.add("狗娃");
        c.add("狗剩");
        c.add("铁蛋");

        Iterator it = c.iterator();//返回一个迭代器
        System.out.println("师范有元素可以遍历? " + it.hasNext());
        while(it.hasNext()){
            System.out.println("获取元素:" + it.next());//一次一个
        }

        System.out.println();
        Collection c1 = new ArrayList();
        c1.add("狗娃");
        c1.add("狗剩");
        c1.add("铁蛋");

        Iterator it1 = c1.iterator();
        while (it1.hasNext()){
            it1.next();
            it1.remove();
        }
        System.out.println("移除之后的结果是:" + c1);
        //最后输出的是空集合

        /*为什么iterator() 方法返回的是一个接口类型,为什么接口又可以调用方法?
            iterator 实际上是返回iterator 接口的实现类方法。
            实际上是多态的应用:
            nterface Moeny{
    public void print();
}

class Worker implements Moeny{
    @Override
    public void print() {
        System.out.println("工人正在赚钱");
    }
}

class Demo {
    public static void main(String[] args) {
        Moeny m = test();
        m.print();
    }
    public static Worker test(){
        return new Worker();
    }
}

        */
    }
}

 

java 集合2(迭代器)

标签:

原文地址:http://www.cnblogs.com/lifehrx/p/5789206.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!