Нет проблем с Stream
, за исключением случаев, когда люди используют его для замены Iterator
- в отличие от замены List
, которая является наиболее похожей на эту коллекцию. В этом конкретном случае нужно быть осторожным в его использовании. С другой стороны, нужно также соблюдать осторожность, используя Iterator
, поскольку каждый элемент может повторяться только один раз.
Итак, поскольку у обоих есть свои проблемы, почему стоит выделить Stream
? Полагаю, просто люди привыкли к Iterator
с Java, тогда как Stream
- это функциональная вещь.