什么时候迭代器实现比索引更好?
什么时候迭代器实现比提供索引更好?当它更好时,为什么?
我假设我是一个可以提供其中任何一个的类的实现者,并且需要做出选择。
When is an iterator implementation a better practice than offering indexing? When it is better, why?
I am assuming that I am the implementer of a class that can offer either and a choice needs to be made.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
因为大多数集合是可迭代的,但很少有集合是可索引的(例如哈希表)。
使用迭代器允许您创建不关心每个集合的类型的代码。
Because most collections are iterable, but few collections are indexable (e.g. hashtables).
Using iterators allows you to create code that doesn't care about the type of each collection.
封装:使用迭代器,您不必知道有效索引是什么。
Encapsulation: with an iterator you do not have to know what the valid indices are.