Core concept

val it = Iterator(1, 2, 3)
it.map(_ * 2).toList  // List(2, 4, 6). Iterator consumed.
Advertisement

How it works

Once consumed, empty. Debug carefully.

Advertisement

Trade-offs + gotchas

Streaming large data. Wrapping Java iterators.