<dependencies>
<dependency>
<groupId>org.functionaljava</groupId>
<artifactId>functionaljava</artifactId>
<version>4.8.0</version>
</dependency>
</dependencies>
Option<String> name = Option.some("John");
Option<String> emptyName = Option.none();
Function<Integer, Integer> addOne = x -> x + 1;
Function<Integer, Integer> multiplyByTwo = x -> x * 2;
Function<Integer, Integer> composedFunction = addOne.andThen(multiplyByTwo);
import fj.data.List;
import fj.F;
List<Integer> numbers = List.list(1, 2, 3, 4, 5);
F<Integer, Boolean> greaterThanThree = i -> i > 3;
List<Integer> filtered = numbers.filter(greaterThanThree); // [4, 5]