package com.baeldung.fj; import fj.F; import fj.Show; import fj.data.Array; import fj.data.List; import fj.data.Option; import fj.function.Characters; import fj.function.Integers; public class FunctionalJavaMain { public static final F isEven = i -> i % 2 == 0; public static void main(String[] args) { List fList = List.list(3, 4, 5, 6); List evenList = fList.map(isEven); Show.listShow(Show.booleanShow).println(evenList); fList = fList.map(i -> i + 1); Show.listShow(Show.intShow).println(fList); Array a = Array.array(17, 44, 67, 2, 22, 80, 1, 27); Array b = a.filter(Integers.even); Show.arrayShow(Show.intShow).println(b); Array array = Array.array("Welcome", "To", "baeldung"); Boolean isExist = array.exists(s -> List.fromString(s).forall(Characters.isLowerCase)); System.out.println(isExist); Array intArray = Array.array(17, 44, 67, 2, 22, 80, 1, 27); int sum = intArray.foldLeft(Integers.add, 0); System.out.println(sum); Option n1 = Option.some(1); Option n2 = Option.some(2); F> f1 = i -> i % 2 == 0 ? Option.some(i + 100) : Option.none(); Option result1 = n1.bind(f1); Option result2 = n2.bind(f1); Show.optionShow(Show.intShow).println(result1); Show.optionShow(Show.intShow).println(result2); } }