Middle
Java'da lambda ifodalar nima?
sobes.tech AI
AIdan javob
Java-da lambda ifodasi — bu nomlanmagan funktsiya. Bu, funksionallikani metod argumenti sifatida yoki kodni ma'lumot sifatida ko'rib chiqishga imkon beradi.
Asosiy xususiyatlar:
- Nomi: Noma'lum.
- Funktsional interfeys: Lambda ifoda har doim funktsional interfeys bilan bog'liq (bir abstrakt metodga ega interfeys).
- Sintaksis:
(parametrlar) -> { body }
Consumer funktsional interfeysi bilan foydalanish misoli:
import java.util.function.Consumer;
// Funktsional interfeys Consumer<T> ning bitta abstrakt metodi accept(T t)
Consumer<String> salomlashish = (ism) -> {
System.out.println("Salom, " + ism);
};
salomlashish.accept("Dunyo"); // Chiqish: Salom, Dunyo
Runnable interfeysi bilan foydalanish misoli:
// Runnable interfeysi bitta abstrakt metod run()
Runnable vazifa = () -> {
System.out.println("Vazifa alohida ipda bajarilmoqda");
};
new Thread(vazifa).start(); // Yangi ipda vazifani boshlash
Sintaksis variantlari:
- Parametrlar bo'lmagan:
() -> { System.out.println("Salom"); } - Bir parametr, qavslarsiz:
ism -> System.out.println("Salom, " + ism) - Bir nechta parametrlar, qavslar va turlar bilan:
(int a, int b) -> { return a + b; } - Bir nechta parametrlar, turlar bo'lmagan (turlarni aniqlash):
(a, b) -> a + b - Bir satrlik tanasi,
returnbo'lmagan:(a, b) -> a + b - Ko'p satrli tanasi, qavs va
returnbilan (agar kerak bo'lsa):(a, b) -> { int yigindi = a + b; return yigindi; }
Lambda ifodalar kodni qisqartiradi, o'qilishi osonroq qiladi va Java'da funktsional dasturlashni qo'llash imkonini beradi.