0

Java 8 Stream API ve Uygulamaları

Merhaba arkadaşlar bu yazıda Java 8 ile birlikte gelen Streams filter(), collect() , findAny() gibi bazı metodların nasıl kullanıldığı ile ilgili bilgiler vermeye çalışıp bazı örnek uygulamalar yapacağım. İngilizce bazı kaynaklardan araştırarak hazırladığım bu yazı inşallah faydalı olur. 

Stream Nesneleri java’daki collection nesneleri ile kullanılan bir api. Elimizdeki bir koleksiyondan istediğimiz değerleri alabilmek , çekebilmek için kullanılan kullanışlı metodları var ki aşağıda örneklerini verdiğimde daha da kolayca ne olduğu hakkında bilgi sahibi olacaksınız. 

Bu stream Api’sinin özelliklerine bakarsak 

  • İçlerinde veri tutan bir yapı değildir. Sadece Koleksiyon nesnelerinin tutukları verileri işleme alırlar.
  • Sizin orijinal koleksiyon yapınızı bozmazlar sadece kendine özgü metodlar ile verileri işlerler

Farklı operasyon nesneleri vardır.
Intermediate Operations:

  1. map: Geçerli nesnenin elemanlarını alıp işlem yapıyor ve başka bir listeye elaman oluşturuyor.
  2. filter: Seçilen bir değere göre filtreleme işlemi yapar
  3. sorted: Stream nesnesini sort etmek için kullanılır

Terminal Operations:

  1. collect: Collect metodu intermediate operatörlerle yapılan işlemleri sonuçta bir liste olarak geri döndürür.
  2. forEach: bilgdiğimiz foreach yapısı gibi elemanlar üzerinde gezmeyi sağlar
  3. reduce: Stream nensesinin elemanlarını tek bir değere azaltmak için kullanılır

     

1. Streams filter() and collect()

Java 8 öncesi bir listede filtreleme işlemi yapacak olursak şöyle bir örnek buna açıklık getirebilir.

Java8 öncesi örnek,

Aynı örneği java 8 ile birlikte gelen stream.filter() ile listemizi filtereleyerek ve collect() ile stream’i yine listeye çevirelim.

2. Streams filter(), findAny() and orElse()

Java8 öncesinde adı verdiğimiz bir personel için Person nesnesine şu şekilde erişebiliyorduk.

Java8 ile birlikte şu şekilde …

Birden fazla şart yazmak isterseniz

Ekran Çıktısı

3. Streams filter() and map()

Ekran Çıktısı

Kaynak: 

https://www.geeksforgeeks.org/stream-in-java/

https://www.mkyong.com/java8/java-8-streams-filter-examples/

admin

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir