Sobes.tech
Junior

Java-da lambda ifadələri nədir?

sobes.tech Süni İntellekt

AI-dan cavab

Lambda ifadəsi — bu, anonim funksiyanın qısa formasıdır və funksional interfeys metodlarını həyata keçirir.

Quruluş: (parametrlər) -> { ifadə bədəni }.

Hissə Təsviri Nümunələr
parametrlər Parametrlər siyahısı, boş ola bilər. Növlər göstərilməyə bilər (açıqlanır). ()<br>x<br>(x, y)<br>(int x, String y)
-> Ox operatoru (arrow operator). Parametrləri və bədəni ayırır. ->
ifadə bədəni Lambda bədəni. İfadə və ya kod bloku ola bilər. x * x<br>{ System.out.println(x); }

İstifadə nümunələri:

  • Funksional interfeyslərin tətbiqi:

    import java.util.function.Consumer;
    
    // Əvvəlki, ənənəvi anonim siniflə tətbiq
    Consumer<String> consumerAnon = new Consumer<String>() {
        @Override
        public void accept(String s) {
            System.out.println(s);
        }
    };
    consumerAnon.accept("Ənənəvi anonim sinif");
    
    // Lambda ifadəsi ilə
    Consumer<String> consumerLambda = s -> System.out.println(s);
    consumerLambda.accept("Lambda ifadəsi");
    
  • Streams API ilə işləmək:

    import java.util.Arrays;
    import java.util.List;
    import java.util.stream.Collectors;
    
    List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);
    
    // Cüt ədədləri filtr etmək (lambda ilə)
    List<Integer> evenNumbers = numbers.stream()
                                      .filter(n -> n % 2 == 0)
                                      .collect(Collectors.toList());
    
    System.out.println(evenNumbers); // Nəticə: [2, 4]
    
    // Ədədləri kvadratlarına çevirmək
    List<Integer> squares = numbers.stream()
                                  .map(n -> n * n)
                                  .collect(Collectors.toList());
    
    System.out.println(squares); // Nəticə: [1, 4, 9, 16, 25]
    

Üstünlüklər:

  • Kodun qısaldılması, anonim siniflərlə müqayisədə.
  • Sadə əməliyyatlar üçün oxunaqlığın artırılması.
  • Streams API və digər funksional proqramlaşdırma API-ləri ilə asan istifadə.