集合8 - Iterator迭代器

Iterator

Java Iterator(迭代器)不是一个集合,它是一种用于访问集合的方法,可用于迭代 ArrayList 和HashSet等集合。迭代器 it 的三个基本操作是 next 、hasNext 和 remove。

  • 为什么要使用迭代器?
    • 普通的for遍历访问集合键值对数据时,要取出全部keys,再通过keys遍历访问所有values
    • 如果在遍历过程中修改了集合数据,已经取出的keys没修改,导致数据不一致
    • 迭代器Iterator在全集合发生变化时也会做出相应修改,保持数据的一致性
public class _Iterator {

    public static void main(String[] args) {
        //TODO .iterator() 通过迭代器遍历集合
        HashMap<String, Integer> map = new HashMap<>();
        map.put("a",1);
        map.put("b",2);
        map.put("c",3);

        Set<String> keys = map.keySet();
        Iterator<String> iterator = keys.iterator();

        //TODO .hasNext() 判断是否有下一条数据
        //     .next() 获取下一条数据
        //     .remove() 通过迭代器的remove方法删除数据保持数据一致性
        //且remove只能删除当次循环的数据,不能删除其他数据
        while (iterator.hasNext()){

            String key = iterator.next();
            if(key.equals("b")){
                iterator.remove();
            }

            System.out.println(map.get(key));
        }
    }

}
posted @   LaViez  阅读(21)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
点击右上角即可分享
微信分享提示