Iterator and Iterable interface & their diff