Page 37 - Yazılım Teknolojileri Araştırma Bülteni 2023
P. 37

Java’da Fonksiyonel Programlama | 37



           Program çıktısı:

            1
            2
            3
            4

           4.8. Count


           Stream içindeki veri sayısını döner.

           4.7’de bulunan örnek buraya da uyarlanabilir. Program ilk önce listenin orijinal halinin eleman sayısını
           ardından da distinct çağrısından sonraki eleman sayısını çıktı olarak verecektir.



            List<Integer> sayiList = Arrays.asList(1,2,3,3,1,3,4);


            System.out.println(sayiList.stream().count());
            System.out.println(sayiList.stream().distinct().count());


           Program çıktısı:



            7
            4


           4.9. Min/Max

           Sırasıyla  stream  içindeki  en  küçük  ve  en  büyük  veriyi  döner.  Karşılaştırma  metodu  özel  olarak

           tanımlanabilir.

           Örneğin aşağıdaki liste sırasıyla 1 ve 5 çıktısı verecektir.





            List<Integer> sayiList = Arrays.asList(3, 1, 4, 5, 2);

            System.out.println(sayiList.stream().min((x, y) -> x.compareTo(y)).get());
            System.out.println(sayiList.stream().max((x, y) -> x.compareTo(y)).get());





           4.10. FlatMap

           FlatMap operatörü map’e oldukça benzer olmakla birlikte farkı, kendi içinde streamleri otomatik
           olarak birleştirip tek bir stream haline getirmesidir. Buna düzleştirme (flatten) denir.
   32   33   34   35   36   37   38   39   40   41   42