栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Iterator迭代器ListIterator

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Iterator迭代器ListIterator

Iterator

lterator 迭代器接口,实现了此接口的类才可以使用 增强for
String 字符串 不是使用 增强for遍历

    iterator.hasNext() ->判断有没有下一个元素iterator.next() ->获取下一个元素
 
        Iterator iterator = arr.iterator();
        while (iterator.hasNext() ) {
            iterator.next();
        }

在arr.iterator 时创建 镜像
创建进行之后,到 next 开始获取指针到 所有指针获取完成的期间
不能被 remove 以外的任何方法 修改 原数据,否则会造成 元数据和 镜像的不一致。

Exception in thread "main" java.util.ConcurrentModificationException
 Iterator iterator = arr.iterator();//创建镜像

**注意:**每次next中 只能调用一次 remove 方法
# ListIterator

    hasNext() 顺序遍历 next() 获取元素hasPrevious() 倒序遍历 previons() 获取元素
ArrayList arr = new ArrayList<>();
        arr.add(100);
        arr.add(200);
        arr.add(300);
        //获取指针
        ListIterator integerListIterator = arr.listIterator();

        //顺序 遍历,每次获取下一个指针 数据
        while(integerListIterator.hasNext()){
            integerListIterator.next();
        }
        //倒序 遍历 每次获取上一个元素
        while(integerListIterator.hasPrevious()){
            integerListIterator.previous();
        }
    set() 方法可以在遍历的时候往里面添加数据
 ListIterator x = arr.listIterator(1);//创建一个从 下标 1开始的指针
        while(integerListIterator.hasNext()){
            Integer next = integerListIterator.next();
            if(next == 200){  //当指针 获取200的元素时
                arr.add(400);  //会在指针移动后的下一个位 添加400
            }else if( next == 400){
                x.set(500); //这里 在添加400 但是 指针的镜像不会怎加,最后一次循环还是没跑到这里
            }
        }
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/715898.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号