Sobes.tech
Middle

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

sobes.tech Süni İntellekt

AI-dan cavab

Java-da lambda ifadəsi anonim funksiyadır. Bu, funksionallığı metodun arqumenti kimi və ya kodu məlumat kimi nəzərdən keçirməyə imkan verir.

Əsas xüsusiyyətlər:

  • Anonimlik: Adı yoxdur.
  • Funktional interfeys: Lambda ifadəsi həmişə funksional interfeys ilə əlaqəlidir (bir abstrakt metod olan interfeys).
  • Sintaksis: (parametrlər) -> { bədən }

Consumer funksional interfeysi ilə istifadə nümunəsi:

import java.util.function.Consumer;

// `Consumer<T>` funksional interfeysi bir abstrakt metoda malikdir: accept(T t)
Consumer<String> salam = (ad) -> {
    System.out.println("Salam, " + ad);
};

salam.accept("Dünya"); // Çıxış: Salam, Dünya

Runnable interfeysi ilə istifadə nümunəsi:

// `Runnable` interfeysi bir abstrakt metoda malikdir: run()
Runnable tapşırıq = () -> {
    System.out.println("Tapşırıq ayrı bir ipdə icra olunur");
};

new Thread(tapşırıq).start(); // Yeni ipdə tapşırığı başlat

Sintaksis variantları:

  • Parametrlər olmadan: () -> { System.out.println("Salam"); }
  • Bir parametr, mötərizəsiz: ad -> System.out.println("Salam, " + ad)
  • Bir neçə parametr, mötərizələr və tiplərlə: (int a, int b) -> { return a + b; }
  • Tiplər olmadan çoxlu parametr: (a, b) -> a + b
  • Bir sətirlik bədən, return olmadan: (a, b) -> a + b
  • Çox sətirlik bədən, mötərizələr və return ilə (lazım olarsa): (a, b) -> { int cəm = a + b; return cəm; }

Lambda ifadələri kodu daha qısa, oxumaq asan və Java-da funksional proqramlaşdırmadan istifadə etməyə imkan verir.