Java Lambda Expressions
Lambda Expressions — lambda ifodalar
Bu maqolada Lambda expression-lar xaqida gaplashamiz.
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 Interface
, Lambda 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.
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.