using lambda expressions in java code example

Example 1: lambda expressions in java

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); } );
  }
}

Example 2: how to use lambda in java

StateOwner stateOwner = new StateOwner();

stateOwner.addStateListener(
    (oldState, newState) -> System.out.println("State changed")
);

Example 3: lambda expression java

public class TestLambda {

   public static void main(String args[]) {
      List<String> lowerCaseStringsList = Arrays.asList("a","b","c");
     // the :: notation is the lambda expression
     // it's the same as the anonymous function s -> s.toUpperCase()
      List<String> upperCaseStringsList = lowerCaseStringsList.stream().
        map(String::toUpperCase).
        collect(Collectors.toList());
   }   
}