Sobes.tech
Middle

Java'da lambda ifodalar nima va ular qanday imkoniyatlarni taqdim etadi?

sobes.tech AI

AIdan javob

Java'dagi lambda ifodalar anonim funktsiyalardir, ular kodni yanada qisqaroq yozishga imkon beradi, ayniqsa funksional interfeyslar bilan ishlashda. Ular parametrlar bloki, -> nuqtasi va funksiya tanasidan iborat.

Asosiy imkoniyatlar:

  • Kod qisqartirish: Funktsional interfeyslarni amalga oshirish uchun anonim ichki sinflar yaratish ehtiyojini yo'q qiladi.
  • Funktsional dasturlash: Funktsiyalarni argument sifatida o'tkazish kabi funktsional dasturlash konseptlarini qo'llashni soddalashtiradi.
  • O'qilishi yaxshilash: Ba'zi hollarda, kodni tushunishni va qabul qilishni osonlashtiradi.
  • Stream API bilan ishlash: Java 8 va undan yuqori versiyalarda ma'lumot oqimlari bilan samarali ishlash uchun asos bo'lib xizmat qiladi.

Misol:

// An'anaviy usul anonim sinf bilan
Runnable traditionalRunnable = new Runnable() {
    @Override
    public void run() {
        System.out.println("An'anaviy runnable dan salom");
    }
};

// Lambda ifodasi bilan
Runnable lambdaRunnable = () -> System.out.println("Lambda runnable dan salom");

Lambda ifodasi funksional interfeysga bog'langan — yagona abstrakt metodga ega interfeys. Lambda parametrlarining turi va qaytish qiymati bu abstrakt metodning imzosi bilan aniqlanadi.