Basic Java programs demonstrating different use cases of Lambda expressions.
Simple Lambda Expression for Addition
public class LambdaExample { public static void main(String[] args) { // Lambda expression for adding two numbers MathOperation addition = (a, b) -> a + b; System.out.println("Addition: " + addition.operation(5, 3)); } } interface MathOperation { int operation(int a, int b); }
Lambda Expression for String Concatenation
public class LambdaExample { public static void main(String[] args) { // Lambda expression for string concatenation StringOperation concat = (str1, str2) -> str1 + str2; System.out.println("Concatenated String: " + concat.operation("Hello", " World")); } } interface StringOperation { String operation(String str1, String str2); }
Lambda Expression with No Parameters
public class LambdaExample { public static void main(String[] args) { // Lambda expression with no parameters GreetingService greetService = () -> System.out.println("Hello, Lambda!"); greetService.sayHello(); } } interface GreetingService { void sayHello(); }
Lambda Expression for Finding Maximum of Two Numbers
public class LambdaExample { public static void main(String[] args) { // Lambda expression to find the maximum of two numbers FindMaximum maxFinder = (a, b) -> a > b ? a : b; System.out.println("Maximum: " + maxFinder.findMax(4, 7)); } } interface FindMaximum { int findMax(int a, int b); }
Lambda Expression for Filtering Even Numbers
import java.util.Arrays; import java.util.List; public class LambdaExample { public static void main(String[] args) { List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); // Lambda expression to filter even numbers numbers.stream().filter(n -> n % 2 == 0).forEach(System.out::println); } }
Lambda Expression for Sorting a List
import java.util.*; public class LambdaExample { public static void main(String[] args) { List<Integer> numbers = Arrays.asList(5, 3, 8, 1, 2); // Lambda expression for sorting a list Collections.sort(numbers, (a, b) -> a - b); System.out.println("Sorted List: " + numbers); } }
Lambda Expression for Iterating Over a List
import java.util.*; public class LambdaExample { public static void main(String[] args) { List<String> names = Arrays.asList("John", "Jane", "Paul", "Anna"); // Lambda expression for iterating over the list names.forEach(name -> System.out.println(name)); } }
Lambda Expression for Calculating Factorial
public class LambdaExample { public static void main(String[] args) { // Lambda expression for calculating factorial Factorial factorial = n -> { int result = 1; for (int i = 1; i <= n; i++) { result *= i; } return result; }; System.out.println("Factorial of 5: " + factorial.calculate(5)); } } interface Factorial { int calculate(int n); }
Lambda Expression for String Length Comparison
public class LambdaExample { public static void main(String[] args) { // Lambda expression to compare the length of two strings StringLengthComparator comparator = (str1, str2) -> str1.length() - str2.length(); System.out.println("Length Comparison: " + comparator.compare("apple", "banana")); } } interface StringLengthComparator { int compare(String str1, String str2); }
Lambda Expression with Multiple Statements
public class LambdaExample { public static void main(String[] args) { // Lambda expression with multiple statements GreetMultiple greet = name -> { System.out.println("Hello, " + name); System.out.println("How are you?"); }; greet.sayHello("Alice"); } } interface GreetMultiple { void sayHello(String name); }