Iterable vs. ​ Iterator

An iterable is a collection of objects that can be traversed. The objects are traversed using an iterator that uses particular methods to iterate over an object.

How an iterator is initialized

Java

Iterator<Integer> iterator =
Arrays.asList(1,2,3).iterator();

Python

iterator = iter(1,2,3) 

How an iterator traverses

Java

An iterator uses the following methods to traverse objects in Java:

  • hasNext()
  • next()
  • forEachRemaining() (this can only be used in Java 8)

Python

An iterator uses the following methods to traverse objects in Python:

  • next(): returns the next item in the iterable.
  • iter(): returns the iterator object itself.
svg viewer

Code

The codes below explain the relationship between the iterable and iterator:

Copyright ©2024 Educative, Inc. All rights reserved