Returns a new lazy Iterable with elements that are created by
f on each element of this
Iterable in iteration order.
This method returns a view of the mapped elements. As long as the
returned Iterable is not iterated over, the supplied function
not be invoked. The transformed elements will not be cached. Iterating
multiple times over the returned Iterable will invoke the supplied
f multiple times on the same element.
Methods on the returned iterable are allowed to omit calling
on any element where the result isn't needed.
For example, elementAt may call
f only once.
Iterable<T> map<T>(T f(E element)) => new EfficientLengthMappedIterable<E, T>(this, f);