DEV Community 👩‍💻👨‍💻

DEV Community 👩‍💻👨‍💻 is a community of 967,611 amazing developers

We're a place where coders share, stay up-to-date and grow their careers.

Create account Log in

Posted on • Updated on

Extending An Iterator


  1. How to design a skip iterator
  2. Java's Iterator reference
  3. C#'s IEnumerator reference
  4. Wikipedia article on iterators


  • Iterators allow us to traverse and access elements in collections without the use of indexing.
  • Iterators expose a consistent way to traverse all types of data structures, making the code more resilient to change.
  • Iterators can allow the underlying collection to be modified during traversal, unlike when using indexing to iterate over a collection (like using a for loop on an array). This can mean insertion/deletion of items during traversal.
  • Iterators exist in many languages, in C# they are called enumerators.
  • Time & Space complexity in the code comments

Below you will find a class that takes an enumerator in it's constructor and extends the basic functionality of an iterator with the addition of Skip(), Peek(), & Remove() operations:

As always, if you found any errors in this post please let me know!

Top comments (0)

🌚 Friends don't let friends browse without dark mode.

Sorry, it's true.