В чем разница между Iterator
и Iterable
в scala?
Я думал, что Iterable
представляет собой набор, который я могу выполнить, и Iterator
является "указателем" на один из элементов в итеративном наборе.
Однако Iterator
имеет такие функции, как forEach
, map
, foldLeft
. Его можно преобразовать в Iterable
через toIterable
. И, например, scala.io.Source.getLines
возвращает Iterator
, а не Iterable
.
Но я не могу сделать groupBy
на Iterator
, и я могу сделать это на Iterable
.
Итак, какова связь между этими двумя, Iterator
и Iterable
?