Skip to content

Commit ce0ced6

Browse files
committed
Add one more example
1 parent 288e139 commit ce0ced6

1 file changed

Lines changed: 11 additions & 0 deletions

File tree

src/main/java/io/github/aplotnikov/java_8_misuses/stream/collectors/TrueFunctionalApproach.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,14 @@
11
package io.github.aplotnikov.java_8_misuses.stream.collectors;
22

33
import io.github.aplotnikov.java_8_misuses.domain.Client;
4+
import io.github.aplotnikov.java_8_misuses.utils.Annotations.Bad;
45

56
import java.util.List;
67

78
import static io.github.aplotnikov.java_8_misuses.utils.Annotations.Good;
89
import static io.github.aplotnikov.java_8_misuses.utils.Annotations.Ugly;
910
import static java.util.Comparator.comparingInt;
11+
import static java.util.function.BinaryOperator.maxBy;
1012

1113
class TrueFunctionalApproach {
1214
@Ugly
@@ -48,6 +50,15 @@ Client findTheOldestClient(List<Client> clients) {
4850
}
4951
}
5052

53+
@Bad
54+
class StreamsWithReductionAndMax {
55+
Client findTheOldestClient(List<Client> clients) {
56+
return clients.stream()
57+
.reduce(maxBy(comparingInt(Client::getAge)))
58+
.orElse(null);
59+
}
60+
}
61+
5162
@Good
5263
class MaxWithComparator {
5364
Client findTheOldestClient(List<Client> clients) {

0 commit comments

Comments
 (0)