March 2018
Intermediate to advanced
208 pages
4h 52m
English
| | class Inventory { |
| | |
| | List<Supply> supplies; |
| | |
| | long countDifferentKinds() { |
| | return supplies.stream() |
| » | .sequential() // this can be omitted |
| | .filter(Supply::isUncontaminated) |
| | .map(Supply::getName) |
| | .distinct() |
| | .count(); |
| | } |
| | } |
Although we’re not focused on concurrency in this book, we don’t want to leave you without giving you one concrete hint—one comparison—that shows how you can speed up your code using concurrency. You probably recognize the code above from Favor Functional Over Imperative Style.
If you look closely, you can see the call to the method sequential() in the code. This call makes sure that the whole stream processes the elements sequentially. It operates on a single element at a time. ...