难道我们还需要迭代设计模式? [英] Do we still need Iterator design pattern?
问题描述
嗨
我在学习设计模式,我发现迭代器。
我们还需要使用它?
因为我们有收藏,我很困惑,为什么我们仍然需要Iterator设计模式。
Hi guys I'm learning the design patterns and I found Iterator. Do we still need to use it? Since we have collection, I'm confused why we still need the Iterator Design Pattern.
感谢
推荐答案
其实集合积极利用迭代器,这两种语言。每当你走过一个集合的元素,有一些涉及迭代器,即使你看不到它明确地在代码中。我给在Java中的例子,因为我更熟悉它。
Collections in fact actively use iterators, in both languages. Whenever you walk through the elements of a collection, there is some sort of iterator involved, even if you don't see it explicitly in the code. I give examples in Java, as I am more familiar with it.
的首选成语来遍历Java 5之前的集合 - 使用迭代器
明确:
The preferred idiom to iterate over a collection prior to Java 5 - using an Iterator
explicitly:
for (Iterator i = c.iterator(); i.hasNext(); ) {
doSomething((Element) i.next()); // (No generics before 1.5)
}
和从Java 5:
for (Element e : elements) {
doSomething(e);
}
在几乎相同的字节码后者的结果,虽然,使用迭代器<后面/ code>帷幕。
The latter results in practically identical bytecode though, using an Iterator
behind the curtain.
这篇关于难道我们还需要迭代设计模式?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!