7- Predefined Functional Interfaces and Stream Coding Part
Predefined Functional Interfaces Coding Part
Create a package with workable code with classes that uses concepts of predefined functional interfaces(Consumer,Predicate and Supplier) and concepts of stream and Lamda expression
ConsumerDemo
package com.java.pre.functional.demo;
import java.util.Arrays;
import java.util.List;
import java.util.function.Consumer;
public class ConsumerDemo {
public static void main(String[] args) {
// Using consumer Interface
Consumer<Integer> consumer = t -> System.out.println("Printing : " + t);
consumer.accept(10);
System.out.println("--------------------");
// Using extension of Consumer Interface(forEach loop in stream)
List<Integer> list1 = Arrays.asList(1, 2, 3, 4, 5);
list1.stream().forEach(t -> System.out.println("print : " + t));
}
}
CONSOLE
Printing : 10
--------------------
print : 1
print : 2
print : 3
print : 4
print : 5
---------------------------------------------
PredicateDemo
package com.java.pre.functional.demo;
import java.util.Arrays;
import java.util.List;
public class PredicateDemo {
public static void main(String[] args) {
List<Integer> list1 = Arrays.asList(1, 2, 3, 4, 5);
//Providing conditional check by using filter in stream(Extension of predicate demo)
list1.stream().filter(t -> t % 2 == 0).forEach(t -> System.out.println("print Even: " + t));
}
}
CONSOLE
print Even: 2
print Even: 4
---------------------------------------------
SupplierDemo
package com.java.pre.functional.demo;
import java.util.Arrays;
import java.util.List;
public class SupplierDemo {
public static void main(String[] args) {
List<String> list1 = Arrays.asList();
// Output without input is supplier interface(extension is orElseGet)
System.out.println(list1.stream().findAny().orElseGet(() -> "Hi ZeeK"));
}
}
CONSOLE
Hi ZeeK
Comments
Post a Comment