stream api

Java 8 Stream – Fibonacci Stream Oluşturma

Iterator, iterable ve Splitator kullanılarak Fibonacci dizisi elemanlarını veren bir Stream oluşturabiliriz. Iterator içerisinde fibonacci algoritmamız yer almaktadır bu sayede bir sonraki elemanın hesaplanması yapılabilir. Iterable ise bir iterator nesnesi döndürmektedir. Splitator ise Stream içerisinde kullanabileceğimiz bir Iterator yapısıdır. Çok büyük sayılar hesaplanabilmesi için BigInteger kullanılmıştır.

Java 8 Stream – reduce Nedir? Nasıl Kullanılır?

Java 8 Stream reduce operasyonu kaynaktaki her elemanın birleştirilerek tekil bir eleman oluşturulması işlemini görmektedir, yani eğer bir String listesini kaynak olarak kullanıyorsak bu Stringlerin birleştirilip bir adet String değişkeni üretmemiz reduce operasyonu olarak adlandırılır. Reduce yapabilmek için iki farklı parametreyi belirtmek zorundayız. İki parametreden ilki olan ilk değer parametresi birleştirme işlemi yaparken başlangıç değerini …

Java 8 Stream – reduce Nedir? Nasıl Kullanılır? Read More »

Java 8 Stream – min, max Nedir? Nasıl Kullanılır?

Terminate operasyonlardan olan min ve max, kaynak içerisindeki en büyük ve en küçük elemanları döndürmektedir. Burada dikkat edilmesi gerekenlerden birisi Primitive Streamler içerisinde parametre almamaktadır çünkü iki farklı integer değerinden hangisinin büyük olduğuna karar verilebilir. Nesnelerimizi sakladığımız Stream içerisinde ise Comparator interface’ini parametre olarak almaktadır. Yani min ve max kullanılırken nesnelerin nasıl kıyaslanacağına dair bir …

Java 8 Stream – min, max Nedir? Nasıl Kullanılır? Read More »

Java 8 Stream – foreach Nedir? Nasıl Kullanılır?

Bütün sıralı olarak verildiği ve herhangi bir sonuçun üretilmediği bir operasyondur. Foreach stream operasyonu parametre olarak Consumer veya Bi Consumer almaktadır. Kaynak içerisindeki elemanların tek tek Consumer’e verilir. Foreach operasyonu Terminate operasyon olduğundan Stream döngüsünü sonlandırır. Foreach yapısı kullanılarak Stream içerisindeki her eleman ekrana yazdırılarbilir veya üzerlerinde işlem yapılabilir. En çok kullanıldığı yerlerden birisi genellikle …

Java 8 Stream – foreach Nedir? Nasıl Kullanılır? Read More »

Java 8 Stream – findAny, findFirst Nedir? Nasıl Kullanılır?

FindAny Stream içerisinde yer alan herhangi bir elemanı döndürmektedir. Burada hangi elemanın geleceği belirsizdir fakat çoğunlukla ilk elemanın dönderileceğini söyliyebiliriz. Findany Stream operasyonu kullanıldıktan sonra direk olarak Stream kaynağımızdaki veri tipinde dönüş alamayız Optional adı verilen sınıflar kullanılır. Findfirst operasyonunda ise Stream kaynağımız içerisinde yer alan ilk elemanı yine findanyde olduğu gibi Optional nesnesi olarak …

Java 8 Stream – findAny, findFirst Nedir? Nasıl Kullanılır? Read More »

Java 8 Stream – Distinct Nedir? Nasıl Kullanılır?

Distinct operatoru kaynağımız içerisindeki tekrar eden verileri silmektedir. Kelime anlamı itibariyle farklı demektir yani tekrar eden elemanlarımızı silerek tekrarları yok etmektedir. Distinct Stream operasyonu iki farklı şekilde kullanılabilir bunlardan birisi nesneye ait equal metotu kullanır bu yüzden herhangi bir parametreye ihtiyaç duymaz Bir diğeri ise Predicate alarak nesnemizin özelliğine göre farklı olup olmadığına karar verir. …

Java 8 Stream – Distinct Nedir? Nasıl Kullanılır? Read More »

Java 8 Stream API Nasıl Çalışır?

Stream kullandığımızda, kullandığımız operasyonlara göre Stream Pipeline adını verdiğimiz bir süreç yaratmış oluruz. Bir Stream Pipe’line içerisinde aşağıdaki maddelerden söz edilir. Stream için kaynak sağlıyan liste veya dizi verimiz Stream Source Stream içindeki elemanlara işlem yapan Intermediate (Non-Terminal Operation) Sonuç üretimi sağlıyan Terminal-Operation Bir Stream nesnesi oluşturmak yukarıdaki işlemleri yapmak anlamına gelmemektedir. Eğer biz bir …

Java 8 Stream API Nasıl Çalışır? Read More »