scala> (1 to 10).iterator.map{_ * 2}.toList
res1: List[Int] = List(2, 4, 6, 8, 10, 12, 14, 16, 18, 20)
scala> (1 to 10).view.map{_ * 2}.force
res2: Seq[Int] = Vector(2, 4, 6, 8, 10, 12, 14, 16, 18, 20)
Además de utilizar next, hasNext, ¿cuándo debería elegir iterator over view o view over iterator?¿Cuál es la diferencia entre los métodos iterator y view?
Ver Iterator # map, crea un nuevo iterador que evalúa perezosamente la función pasada al mapa para cada 'siguiente'. Por lo tanto, parece actuar exactamente como una vista – IttayD
@Ittay: Es cierto, pero eso no está en el contrato. Iteractor promete el siguiente método que devuelve el siguiente elemento y lo descarta del iterador. Mientras que las promesas de IterableView son 'no estrictas'. – sblundy