![](/img/trans.png)
[英]Using a ListIterator, add a "-1" in between 2 even integers in an arraylist
[英]What is the benefit of using Iterator instead of ListIterator for ArrayList?
据我了解,ListIterator提供了比Iterator列表更多的功能。 如果是这样,为什么还要使用Iterator? 是否还有优化或性能因素?
通常,您的代码对代码和数据结构的其他部分了解得越少越好。 原因很简单:这简化了修改。
实际上, Collection
比Iterator
更强大, List
比Collection
更强大。
但是Iterator
可以从许多数据结构中获取,因此,如果您使用的是从(例如)列表中获取的Iterator,则可以更改代码并从(例如)数据库中获取迭代器,而无需更改与Iterator一起使用的代码。
使用ListIterator表示以特定顺序进行迭代的要求。 使用Iterator表示该顺序无关紧要。
通常,我认为使用迭代器会使代码难以阅读。 我不知道您的用例,但是在大多数情况下,使用增强的for循环或Java 8流之类的功能方法是有意义的。
如果您需要ListIterator
功能,则可以使用它。 同时,您限制自己只能在该特定位置对List
进行操作。
现在,如果您实现了一些真正的基于List
的操作,则实际上您只想对List
进行操作,因此这对您没有限制。
但是,如果你并不真正需要的特殊funtionality ListIterator
而是一个Iterator
就足够了,那么喜欢用普通Iterator
; 这使您不仅可以对List
进行操作,而且还可以对实现Iterable
任何数据结构进行操作,包括各种Collection
。 这使您的代码更通用,使用更灵活。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.