Java Lambda Expressions

Java Lambda Expressions

 

Lambda Expressions — lambda ifodalar

Bu maqolada Lambda expression-lar xaqida gaplashamiz.

77dffe80 d2db 49f5 9251 3dabf796f431

What is Lambda expression?

Lambda expression-lar java 8-ning muxim yangiliklaridan xisoblanadi.

Lambda ifoda bu Interface ning bitta metodini qisqa va lo’nda qilib ifodalash usulidir. Collection, mollection larda ishlatish juda qulay. Yani malumotni filter qilish, malumotni ajratib olish joylarida juda qulay.

Lambda expression-lar Functional interface lardan implementatsiya olish uchun ishlatiladi. Shuningdek ular qisqa kod yozish imkoniyatini beradi.

Lambda expression-lar bilan method-dan qayta implementatsiya olishimiz shart emas. Java lambda ifodalarga funksiya sifatida qaraydi va uning uchun aloxida method yaratmaydi.

Lambda expression-larda interface-ning abstract method-ni parameter oluvchi qismini va tana (body) qismini yozamiz. Ya’ni method-ni to’liq korinishi ni yozmaymizda uning method o’zgaruvchi keladigan qismini va method-ning tana qismini tasvirlaymiz.

Lambda expression-larni ishlatishdan asosiy maqsad Functional interface-lardan implementatsiya olish va kamroq kod yozish.

Javada yozilgan kodlar hajmi yanada kamroq, o’qishga oson va tushunarli bo’lish uchun java 8-dan (versiyadan) boshlab Functional InterfaceLambda expressions va Method references-lar java-ga qo’shilgan.

 


Functional Interface?

Functional interface-lar xaqida qisqacha ma’lumot. Bularni alohida maqolalarda to’liq ko’rib chiqamiz.

Bitta abstract methodi bo’lgan interface ga Functional interface deyiladi.

Java da @FunctionalInterface anotatsiyasi Functional interface-larni belgilash uchun ishlatiladi.

Lambda expression-lar Functional interface-lardan implementatsitya olish uchun ishlatiladi.

f41736f7 d5b3 4a91 8796 172f90dd1526

 


Java Lambda Expression Syntax

Java-da lambda expression-lar quyidagi sintaksis asosida yoziladi.

(argument-list) -> {body}

Lambda expression-lar 3ta qisimdan iborat:

  • Argument-list — keladigan parametrlar ro’yhati. Bu bo’sh ham bo’lishi mumkin.
  • -> (Arrow-token) — Argument-list va Body qisimni bir biriga bog’lash uchun ishlatiladi.
  • Body — unda lambda expression uchun kodlar yoziladi.