A lambda expression is a short block
of code which takes in parameters
and returns a value. Lambda expressions
are similar to methods, but they do
not need a name and they can be
implemented right in the body of a method.
parameter -> expression
To use more than one parameter, wrap them in parentheses:
(parameter1, parameter2) -> expression
Example
Use a lamba expression in the ArrayList's
forEach() method to print every item in the list:
import java.util.ArrayList;
public class Main {
public static void main(String[] args) {
ArrayList<Integer> numbers = new ArrayList<Integer>();
numbers.add(5);
numbers.add(9);
numbers.add(8);
numbers.add(1);
numbers.forEach( (n) -> { System.out.println(n); } );
}
}
//* No Parameter Syntax
() -> {
//Body of no parameter lambda
}
//* One Parameter Syntax
(p1) -> {
//Body of single parameter lambda
}
//The:
Runnable r = ()-> System.out.print("Run method");
//is equivalent to:
Runnable r = new Runnable() {
@Override
public void run() {
System.out.print("Run method");
}
};
(par1, par2, ...) -> {do...}