Lambda expression Java 8 me introduce hua ek anonymous function hai jo ek short block of code hai jisme parameters ho sakte hain aur ek expression ya statements ka block ho sakta hai. Ye functional interfaces ka implementation hota hai bina explicit class banaye.
// Basic syntax
(parameters) -> expression;
// Example
(int a, int b) -> a + b;
import java.util.ArrayList;
public class LambdaDemo {
public static void main(String[] args) {
ArrayList<Integer> numbers = new ArrayList<>();
numbers.add(5);
numbers.add(9);
numbers.add(8);
numbers.add(1);
// Lambda expression with forEach to print elements
numbers.forEach(n -> System.out.println(n));
// Lambda expression with condition
numbers.forEach(n -> {
if (n % 2 == 0) System.out.println("Even: " + n);
});
}
}
Stream API bhi Java 8 me aaya jo collection ke objects par functional-style operations allow karta hai jaise filter, map, reduce, sort etc bina collection ko modify kiye. Streams lazy evaluation aur parallel processing bhi support karte hain.
import java.util.Arrays;
import java.util.List;
public class StreamDemo {
public static void main(String[] args) {
List<String> names = Arrays.asList("Amit", "Neha", "Ravi", "Priya");
// Stream to filter names starting with 'R' and print them
names.stream()
.filter(name -> name.startsWith("R"))
.forEach(System.out::println);
}
}