Java Lambda Expressions

Java Lambda Expressions
Lambda expressions in Java provide a concise way to represent an anonymous function (a function without a name).
Introduced in Java 8, they simplify functional programming and reduce boilerplate code.
Often used with Functional Interfaces (interfaces with a single abstract method)
Improves readability, especially in Collections and Streams
1. Syntax
Parameters – inputs to the lambda
Arrow token
->separates parameters from the bodyExpression or block – body of the lambda
2. Example: Simple Lambda Expression
(name) -> System.out.println("Hello, " + name + "!")is the lambda expression
3. Lambda with No Parameters
Empty parentheses
()used when no parameters
4. Lambda with Multiple Parameters
Can include multiple statements using
{}:
5. Lambda with Return Values
For single expressions, return keyword is optional.
For multiple statements, return is required:
6. Using Lambdas with Collections
Lambda expressions are commonly used with
forEach,sort, and Streams API
7. Functional Interfaces (Predefined)
| Interface | Description | Method |
|---|---|---|
Runnable | Represents a task to run in a thread | run() |
Comparator<T> | Compares two objects | compare(T o1, T o2) |
Consumer<T> | Accepts an input, returns nothing | accept(T t) |
Supplier<T> | Supplies a result, no input | get() |
Function<T,R> | Takes input, returns result | apply(T t) |
Predicate<T> | Returns boolean result | test(T t) |
8. Example: Using Predicate
Simplifies code by using predefined functional interfaces
Summary
Lambda Expression = concise representation of anonymous function
Introduced in Java 8, works with functional interfaces
Reduces boilerplate for collections, threads, and event handling
Syntax:
(parameters) -> expression/block
