美文网首页
Iterator迭代器

Iterator迭代器

作者: 我把心事寄流年 | 来源:发表于2018-11-21 21:45 被阅读7次

    Iterator迭代器,用于遍历集合


    什么是迭代?

    先判断集合中有没有元素,如果有就把元素取出来。这种取出方式,称为迭代。


    创建迭代器
    Iterator<包装类> it = 集合名.Iterator();

    两个方法
    it.hasNext();//判断有没有元素

    it.next();//获取元素

    完整格式

    
    Iterator<包装类> it = 集合名.Iterator();
    
    while(it.hasNext()){
         包装类型  变量名 = list.it.next();
         System.out.println(变量名)
    }
    
    

    迭代器的实现原理

    当遍历集合时,首先通过调用集合的 iterator() 方法获得 迭代器对象,然后使用 hashNext() 方法判断集合中是否存在下一个元素,如果存在,则调用 next() 方法将元素取出,否则说明已到达了集合末尾,停止遍历元素。


    示例一

    package A
    
    import java.util.ArrayList;
    import java.util.Iterator;
    
    public class Demo1{
        public static void main(String[] args) {
            ArrayList<Integer> list = new ArrayList<>();
            list.add(1);
            list.add(2);
            list.add(3);
            Iterator<Integer> it = list.iterator();
            while(it.hasNext()){//判断集合中有没有元素
                Integer integer = it.next();//获取元素
                System.out.println(integer);
            }
        }
    }
    
    

    示例二

    package A;
    
    import java.util.ArrayList;
    import java.util.Iterator;
    
    public class Demo2{
        public static void main(String[] args) {
            ArrayList<String> list = new ArrayList<>();
            list.add("Tom");
            list.add("Jerry");
            Iterator<String> it = list.iterator();
            while ((it.hasNext())){
                String str = it.next();
                System.out.println(str);
            }
        }
    }
    
    

    tips::如果集合中已经没有元素了,还继续使用迭代器的next方法,将会发生 java.util.NoSuchElementException 没有集合元素的错误。

    相关文章

      网友评论

          本文标题:Iterator迭代器

          本文链接:https://www.haomeiwen.com/subject/hiphqqtx.html