в джаве стримы есть, +- то же самое
Ну только в Java
1) не поддерживается аналог LINQ2SQL
2) нету метода toList
, а вместо него какая-то ебала на коллекторах (супер вербозно и неудобно, пусть и пофичастее)
3) внутри сделано всё-таки покруче, потому что у стримов есть флаги — отсортирован ли стрим, поддерживает ли произвольную адресацию и т.п.; это позволяет для некоторых функций более эффективные реализации без гадания по типу коллекции, как сделано у нас в коде фреймворка