Java 8 Stream Terminal ve Non-Terminal Operasyonlar

Java 8 Stream ile uğraşırken en çok karşılaştığımız konu operasyon ayrımı olarak da adlandırabileceğimiz terminal ve non-terminal opersyonlardır. Bu operasyonlar bizim Stream pipeline döngümüzü kontrol etmektedirler.

Terminal Operasyonlar

Terminal operasyonlar kaynak üzerinden sonuç üreten operasyonlardır. Bu operasyonun kullanılması ile birlikte Stream Pipeline döngümüz sona ermektedır. Bir Stream Pipeline döngüsünde yalnızca bir tane terminal operation bulunabilmektedir.

  • toArray()
  • collect()
  • count()
  • reduce()
  • forEach()
  • forEachOrdered()
  • min()
  • max()
  • anyMatch()
  • allMatch()
  • noneMatch()
  • findAny()
  • findFirst()

Intermediate veya Non-Terminal Operasyonlar

Non terminal operasyonlar kaynak üzerinden işlem yaparlar ve bu işlem sonucunda yine işlenebilecek bir kaynak ortaya çıkmaktadır. Bu yüzden birden fazla kez kullanılabilmektedirler. Bir stream pipeline içerisinde istenildiği kadar non terminal operasyon kullanılabilmektedir.

  • filter()
  • map()
  • flatMap()
  • distinct()
  • sorted()
  • peek()
  • limit()
  • skip()

Kaynak:

Comments

No comments yet. Why don’t you start the discussion?

Leave a Reply

Your email address will not be published. Required fields are marked *