Iterator
- List the types of iterators
- List the control types for iterators
- Describe the disadvantages and advantages of an embedded iterator
- Describe the disadvantages and advantages of a separate iterator
- Explain why iterators sometimes need to violate encapsulation
- Draw the structure of a dual hierarchy of collections and separate iterators
- Describe the iteration control mechanism for an internal iterator
- Specify the interface required by internal iterators
- Contrast traversal definition when the iterator defines it vs. the collection
- List the issues surrounding iterator robustness
- Describe policies for handling iterator robustness
- Describe how privileged access to the collection can be implemented in C++ and Java
- Explain the issues of using an external iterator with a recursive data structure such as a tree or graph