我是靠谱客的博主 害羞小蘑菇,最近开发中收集的这篇文章主要介绍71.集合中使用迭代器;循环+迭代器联合操作集合;,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

集合中使用迭代器

<1>迭代器和集合的关系: 迭代器是操作集合的第二种方式,后期可以延展使用到很多地方,并且存在一个升级版内容【增强for循环】

迭代器和集合本身有着密切关系,首先迭代器的获取,就是通过集合对象,得到对应当前集合的迭代器;
获取迭代器的方法: Iterator<E> iterator(); 获取迭代器对象,泛型对应的具体数据类型和集合中约束的泛型具体数据类型一致

<2>迭代器操作使用到的方法
boolean hasNext(); 判断当前集合中是否可以继续得到元素,能否继续遍历;
E next();
①获取迭代器当前指向的元素;
②将迭代器指向下一个元素;
void remove(); 删除通过next方法获取到的元素;

【注意事项】
remove方法只能删除next方法获取到元素
②remove方法只能在next方法之后执行,且不能跨过一个next执行
没有next不能使用remove

class Panda{
    public static void main(String[] args) {
        //使用迭代器操作集合
        Collection<String> list = new ArrayList<>();
        list.add("小哈");
        list.add("小金");
        list.add("小花");
        list.add("小黄");
        list.add("小撒");
        System.out.println("原始list:"+list);
        //获取对应当前集合的迭代器对象
        //集合中保存的元素是什么类型,迭代器操作元素就是什么类型
        //迭代器在获取过程中,默认执行集合中的第一个元素
        Iterator<String> iterator = list.iterator();
        //hashNext() 判断当前集合是否可以继续获取到元素
        System.out.println("演示hashNext()方法:"+iterator.hasNext());
        //next() 方法 获取迭代器当前指向的元素并将迭代器指向下一个元素
        System.out.println("演示next()方法:"+iterator.next());
        System.out.println("演示next()方法:"+iterator.next());
        //remove() 方法 删除通过next() 方法获取到的元素
        System.out.println("remove()执行");
        iterator.remove();
        System.out.println("操作后list:"+list);
    }
}

循环+迭代器联合操作集合

class Panda{
    public static void main(String[] args) {
        //使用迭代器操作集合
        Collection<String> list = new ArrayList<>();
        list.add("小哈");
        list.add("小金");
        list.add("小花");
        list.add("小黄");
        list.add("小撒");
        System.out.println("原始list:"+list);
        //获取对应当前集合的迭代器对象
        //集合中保存的元素是什么类型,迭代器操作元素就是什么类型
        //迭代器在获取过程中,默认执行集合中的第一个元素
        Iterator<String> iterator = list.iterator();
        //使用循环与迭代器,删除掉集合中所有元素
        //hashNext() 判断当前集合是否可以继续获取到元素
        //如果不用hasNext() 方法进行判断当集合中不可以继续获取到元素的时候,调用next() 方法会报错
        //NoSuchElementException
        while(iterator.hasNext()){
            //next() 方法 获取迭代器当前指向的元素并将迭代器指向下一个元素
            iterator.next();
            //remove() 方法 删除通过next() 方法获取到的元素
            iterator.remove();
            System.out.println("操作后list:"+list);
        }
    }
}

最后

以上就是害羞小蘑菇为你收集整理的71.集合中使用迭代器;循环+迭代器联合操作集合;的全部内容,希望文章能够帮你解决71.集合中使用迭代器;循环+迭代器联合操作集合;所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(55)

评论列表共有 0 条评论

立即
投稿
返回
顶部