难道我们还需要迭代设计模式? [英] Do we still need Iterator design pattern?

查看:144
本文介绍了难道我们还需要迭代设计模式?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述


我在学习设计模式,我发现迭代器。
我们还需要使用它?
因为我们有收藏,我很困惑,为什么我们仍然需要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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆