HOME HTML EDITOR C JAVA PHP

Java Lambda Expressions

Java 8 me introduce ki gayi Lambda Expression ek modern feature hai jo functional programming ko support karta hai. Lambda expression ka main purpose hai code ko short, clean aur readable banana. Ye mostly Functional Interface ke saath use hoti hai.

1. What is a Lambda Expression?

Lambda Expression ek anonymous function hoti hai jiska koi naam nahi hota. Iska use hum tab karte hain jab hume kisi interface ke ek hi method ko implement karna ho.

Basic Syntax:

(parameters) -> expression;

(parameters) -> { statements; }

Yaha -> ko Lambda Operator kaha jata hai.

2. Functional Interface

Functional Interface wo interface hota hai jisme sirf ek abstract method hota hai. Lambda expression sirf functional interface ke saath kaam karti hai.

@FunctionalInterface
interface MyInterface {
  void sayHello();
}

3. Lambda Without Parameters

Agar method me koi parameter nahi hai to empty parentheses () use kiye jate hain.

MyInterface obj = () -> System.out.println("Hello World");
obj.sayHello();

4. Lambda With One Parameter

Agar ek hi parameter ho to parentheses optional hote hain.

interface PrintMessage {
  void show(String message);
}

PrintMessage msg = message -> System.out.println(message);
msg.show("Welcome to Lambda");

5. Lambda With Multiple Parameters

Multiple parameters ke case me parentheses required hote hain.

interface Add {
  int sum(int a, int b);
}

Add addition = (a, b) -> a + b;
System.out.println(addition.sum(10, 20));

6. Lambda With Block Body

Agar lambda body me multiple statements ho to curly braces {} use karte hain aur return statement likhna zaroori hota hai.

Add addition = (a, b) -> {
  int result = a + b;
  return result;
};

7. Lambda with Collections

Lambda expressions ka use Collections aur Stream API ke saath bahut hota hai.

import java.util.*;

List<String> names = Arrays.asList("Aman", "Ravi", "Sita");
names.forEach(name -> System.out.println(name));

8. Lambda with Threads

Java 8 se pehle thread banane ke liye anonymous class likhni padti thi. Lambda expression ne ise short bana diya.

Thread t = new Thread(() -> {
  System.out.println("Thread Running...");
});
t.start();

9. Advantages of Lambda Expression

10. Lambda vs Anonymous Class

Anonymous class me jyada code likhna padta hai jabki lambda expression concise hoti hai.

// Anonymous Class Runnable r1 = new Runnable() {
  public void run() {
    System.out.println("Running");
  }
};

// Lambda Expression Runnable r2 = () -> System.out.println("Running");

Helpful Tip: Lambda expressions ko master karne ke liye Stream API aur Functional Interfaces ka practice zaroor karein. Ye modern Java programming ka important part hai.