迭代器模式

java集合类遍历有个常见的问题就是想在Iterator里面去判断删除某个符合条件的元素的时候,如果使用List.remove()的方法就会会报出ConcurrentModificationException。

解决方法就是用Iterator.remove()方法。

熟悉ArrayList的都知道,它是数组实现的。数组的特性就是长度不可变,如果要改变它就必须new一个新的数组。而且另一个集合类LinkedList底层是链表实现的,所以说如果是删除较多的场景还是推荐使用LinkedList。

OK。进入正题,今天主要是说java这个迭代器模式是怎么实现的。

ArrayList类根据继承过来的Iterator方法,依赖一个Iterator接口的实现类Iter。然后实现对数组的遍历。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容