Основные отличия между терминальными и промежуточными операциями в потоках Java:
- Промежуточные операции генерируют выходной поток и выполняются только при встрече с терминальной операцией. javarush.com Они возвращают новый поток и не выполняются немедленно — откладываются до тех пор, пока не будет вызвана терминальная операция. struchkov.dev
- Терминальные операции завершают выполнение промежуточных операций, а также возвращают окончательные результаты выходного потока. javarush.com Они могут включать такие действия, как подсчет, сбор в коллекцию, поиск или перебор элементов. struchkov.dev После вызова терминальной операции поток больше нельзя использовать повторно — это приведёт к ошибке. struchkov.dev
Таким образом, промежуточные операции не меняют данные, а только задают логику их изменения, в то время как терминальные операции запускают всю цепь промежуточных операций, закрывают поток и возвращают модифицированные данные. habr.com