Iterators are a way to iterate though a lis tof objects, You can implement iterators yourself for any class.
Task 1: Read about Iterators: What are iterators and how to use them?
Here is a small problem for you. Create a list of unlimited numbers? How will you approach this problem. You cannot create the list and save it in memory as it will require unlimited memory. This is where generators comes in and solve such problems.