一个迭代器必须知道它要迭代的集合。那么集合是否也需要知道它的迭代器?依赖关系是单向的还是双向的?如果集合了解特定的迭代器实现,则可能无法为同一集合使用不同的迭代器策略。这是我的想法。我是对还是完全错了?
GoF书中有一个迭代器模式的图表,我认为它暗示了循环依赖关系。但是我不确定从List到ListIterator和从SkipList到SkipListIterator的虚线表示什么。
附注:我每天都在处理Java,但这可能更多是一个设计问题,而不是特定于某种语言的问题。
GoF书中有一个迭代器模式的图表,我认为它暗示了循环依赖关系。但是我不确定从List到ListIterator和从SkipList到SkipListIterator的虚线表示什么。
附注:我每天都在处理Java,但这可能更多是一个设计问题,而不是特定于某种语言的问题。
Iterator
作用于什么类型的集合,甚至它是否是一个集合。) - millimooseList.reverseIterator()
,它将再次返回一个Iterator
,只是一个能够反向遍历给定集合的实现。你也可以发明各种API来告诉集合你想要什么样的迭代器,然后可能得到它。但这不是API的设计方式。 - millimooseIterator
实现概念(如何实现此行为的内部细节)是完全不同的两个概念。 - millimoose