Поток и ленивая оценка
Я читаю изAPI Java 8 в потоковой абстракции, но я не очень хорошо понимаю это предложение:
Промежуточные операции возвращают новый поток. Они всегда ленивы; выполнение промежуточной операции, такой как filter (), фактически не выполняет никакой фильтрации, но вместо этого создает новый поток, который при прохождении содержит элементы исходного потока, которые соответствуют данному предикату. Обход источника конвейера не начинается, пока не будет выполнена терминальная операция конвейера.
Когда операция фильтрации создает новый поток, содержит ли этот поток фильтруемый элемент? Кажется, что он понимает, что поток содержит элементы только тогда, когда он пересекается, то есть с помощью операции терминала. Но чем же содержит отфильтрованный поток? Я не совсем понимаю!!!