Skip to content

Commit 9753fe7

Browse files
committed
Added BiFunction Functional Interface
1 parent a6de4c2 commit 9753fe7

File tree

2 files changed

+31
-1
lines changed

2 files changed

+31
-1
lines changed
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
package com.learn.functionalInterfaces;
2+
3+
import com.learn.data.Student;
4+
import com.learn.data.StudentDataBase;
5+
6+
import java.util.HashMap;
7+
import java.util.List;
8+
import java.util.Map;
9+
import java.util.function.BiFunction;
10+
import java.util.function.Predicate;
11+
12+
public class BiFunctionExample {
13+
14+
static BiFunction<List<Student>, Predicate<Student>, Map<String, Double>> biFunction =
15+
((students, studentPredicate) -> {
16+
Map<String, Double> studentGradeMap = new HashMap<>();
17+
students.forEach(student -> {
18+
if (studentPredicate.test(student)) {
19+
studentGradeMap.put(student.getName(), student.getGpa());
20+
}
21+
});
22+
return studentGradeMap;
23+
});
24+
public static void main(String[] args) {
25+
26+
System.out.println(biFunction.apply(StudentDataBase.getAllStudents(), PredicateStudentExample.predicate1));
27+
28+
}
29+
}

README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,8 @@ This repository contains the basic &amp; advance level examples related to Java
1111
* [Predicate](Modern-Java-Examples/src/com/learn/functionalInterfaces/PredicateExample.java)
1212
* [Predicate + Consumer](Modern-Java-Examples/src/com/learn/functionalInterfaces/PredicateAndConsumerExample.java)
1313
* [BiPredicate](Modern-Java-Examples/src/com/learn/functionalInterfaces/BiPredicateExample.java)
14-
* [Function](Modern-Java-Examples/src/com/learn/functionalInterfaces/)
14+
* [Function](Modern-Java-Examples/src/com/learn/functionalInterfaces/FunctionExample.java)
15+
* [BiFunction](Modern-Java-Examples/src/com/learn/functionalInterfaces/BiFunctionExample.java)
1516

1617

1718

0 commit comments

Comments
 (0)