迭代器模式

2017-06-20  本文已影响0人  Gilegamesh

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

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

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

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

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

上一篇下一篇

猜你喜欢

热点阅读