使用迭代器遍历集合的两种方式

2019-05-26  本文已影响0人  张轻舟

使用迭代器Iterator遍历集合

先转换为数组在遍历集合,这种方式比较麻烦,java提供了一个Iterator的接口,在集合的实现类里面都实现了这个接口。
下面代码分别演示了使用while循环和for循环对Iterator遍历


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

import com.monkey1024.bean.Person;

/**
 * Iterator迭代器
 *
 */
//通过注解去除黄色警告
@SuppressWarnings({ "rawtypes", "unchecked" })
public class IteratorTest01 {

    public static void main(String[] args) {
        iteratorTest01();
        iteratorTest02();
    }

    /**
     * 使用for循环
     */
    public static void iteratorTest02() {
        Collection c = new ArrayList();
        c.add(new Person("张三", 23));                
        c.add(new Person("李四", 24));
        c.add(new Person("王五", 25));
        c.add(new Person("赵六", 26));

        //获取迭代器
        for(Iterator iter = c.iterator(); iter.hasNext(); ){
            //向下转型
            Person p = (Person)iter.next();            
            System.out.println(p.getName() + "..." + p.getAge());
        }
    }

    /**
     * 使用while循环
     */
    public static void iteratorTest01() {
        Collection c = new ArrayList();
        c.add(new Person("张三", 23));                
        c.add(new Person("李四", 24));
        c.add(new Person("王五", 25));
        c.add(new Person("赵六", 26));

        //获取迭代器
        Iterator iter = c.iterator();
        while(iter.hasNext()) {
            //向下转型
            Person p = (Person)iter.next();            
            System.out.println(p.getName() + "..." + p.getAge());
        }
    }

}
上一篇 下一篇

猜你喜欢

热点阅读