Stream Peek operasyonu Consumer alarak işlem gerçekleştirebilmektedir. Bu yapı foreach ile çok benzerlik göstermesine karşın aralarında ki tek fark ise peek’in non-terminate operasyon olmasıdır.
Peek kullanıldıktan sonra tekrardan başka Stream operasyonları kullanılabilirken foreach kullanıldıktan sonra Stream döngüsü sonlandığından dolayı bu mümkün olamamaktadır.
List < String > isimler = new ArrayList < String > (); isimler.add("dogukan"); isimler.add("dogukan"); isimler.add("han"); isimler.add("dogukan"); isimler.add("dogukan"); isimler.add("onur"); isimler.stream().peek(System.out::println).map(x - > "isim =" + x).forEach(System.out::println);