java-集合框架3-迭代器的使用


	java-集合框架3-迭代器的使用
[编程语言教程]

package cn.burce.iterator;

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

/*
 * 集合中的迭代器 获取集合中的元素
 * 接口Iterator:两个抽象方法
 * Boolean hasNext()判断集合中还有没有可以取出的元素,如果有返还True
 * next()取出集合的下一个元素
 * Iterator接口,需要实现类
 * Collection接口定义方法Iterator Iterator()
 * ArrayList 重写Iterator(),返回了Iterator接口实现类的对象
 * 使用ArrayList集合的对象
 * Iterator it = array.iterator(),运行结果就是Iterator接口实现类的对象
 * it是接口的实现类对象,调用方法hasNext()和next()集合元素迭代
 */
public class IteratorLearn {
    public static void main(String[] args) {
        Collection<String> c = new ArrayList<String>();
        c.add("小明");
        c.add("小军");
        c.add("小和");
        c.add("小啊");
        c.add("123");
        // 迭代器对集合ArrayList中的元素取出
        // 调用集合的方法iterator()获取出,Iterator接口的是实现类对象
        Iterator<String> it = c.iterator();
        // 接口实现类对象,调用方法hasNext()判断集合中是否有元素
        // 并用next()取出元素
        while (it.hasNext())
        {
            System.out.println(it.next());
        }
        System.out.println("--------------------------");
        for (Iterator<String> it1 = c.iterator(); it1.hasNext();)
        {
            System.out.println(it1.next());
        }
        System.out.println("-----------------------------");
        // 集合可以存储任何类型的对象
        // 集合中不指定数据类型,那就表示什么都可以存储
        Collection c1 = new ArrayList();
        c1.add("我");
        c1.add("wwwwww");
        // 迭代器获取
        Iterator it2 = c1.iterator();
        while (it2.hasNext())
        {
            System.out.println(it2.next());// 打印的这个是Object类型
            String s = (String) it2.next();// 取长度需要向下转型
            System.out.println(s.length());// 尽量加数据类型
        }
    }
}
hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » java-集合框架3-迭代器的使用