1*f0340d8eSSorin Bascaimport java.util.List; 2*f0340d8eSSorin Bascaimport java.util.function.BiFunction; 3*f0340d8eSSorin Basca 4*f0340d8eSSorin Basca@FunctionalInterface 5*f0340d8eSSorin Bascapublic interface Lambda { 6*f0340d8eSSorin Basca String process(String value); 7*f0340d8eSSorin Basca} 8*f0340d8eSSorin Basca 9*f0340d8eSSorin Bascapublic interface Processor { 10*f0340d8eSSorin Basca void process(String value); 11*f0340d8eSSorin Basca} 12*f0340d8eSSorin Basca 13*f0340d8eSSorin Bascapublic class Agenda { 14*f0340d8eSSorin Basca 15*f0340d8eSSorin Basca Lambda functional = p -> p.toLowerCase(); 16*f0340d8eSSorin Basca 17*f0340d8eSSorin Basca private List<String> persons; 18*f0340d8eSSorin Basca 19*f0340d8eSSorin Basca public void lambdaMap(String personName) { 20*f0340d8eSSorin Basca return persons.stream().map(p -> p.toLowerCase()); 21*f0340d8eSSorin Basca } 22*f0340d8eSSorin Basca 23*f0340d8eSSorin Basca public void lambdaMap2(){ 24*f0340d8eSSorin Basca return persons.stream().map(p -> p.codePoints()); 25*f0340d8eSSorin Basca } 26*f0340d8eSSorin Basca 27*f0340d8eSSorin Basca public void reduce(){ 28*f0340d8eSSorin Basca List<Integer> a; 29*f0340d8eSSorin Basca return a.stream().reduce((x,y) -> x * y); 30*f0340d8eSSorin Basca } 31*f0340d8eSSorin Basca 32*f0340d8eSSorin Basca double test(BiFunction<Integer,List,String> func){ 33*f0340d8eSSorin Basca return 0; 34*f0340d8eSSorin Basca } 35*f0340d8eSSorin Basca 36*f0340d8eSSorin Basca public void print(String value) { 37*f0340d8eSSorin Basca return process(value, v -> System.out.println(v)); 38*f0340d8eSSorin Basca } 39*f0340d8eSSorin Basca 40*f0340d8eSSorin Basca private void process(String value, Processor a) { 41*f0340d8eSSorin Basca a.process(value); 42*f0340d8eSSorin Basca } 43*f0340d8eSSorin Basca 44*f0340d8eSSorin Basca public double bifunc(){ 45*f0340d8eSSorin Basca return test((x,y) -> String.valueOf(func(x,y))); 46*f0340d8eSSorin Basca } 47*f0340d8eSSorin Basca 48*f0340d8eSSorin Basca int func(int a, List b){ 49*f0340d8eSSorin Basca return 1; 50*f0340d8eSSorin Basca } 51*f0340d8eSSorin Basca 52*f0340d8eSSorin Basca public void testFunctionalVar() { 53*f0340d8eSSorin Basca Lambda a = p -> p.toLowerCase(); 54*f0340d8eSSorin Basca } 55*f0340d8eSSorin Basca 56*f0340d8eSSorin Basca} 57