Wow… this clarifies so much for me… thanks.
Wow, best feedback I could hope for - thank you!
Not only do I understand Scala collections better, but I understand Java Streams better. Converting a Java Collection to a Stream is the same as converting a Scala Collection to a view with
.view, and terminating a Stream with a Collector is the same as Scala
IMHO, both Java Streams and Scala Views were poorly explained in the past, never getting to the essence of this fine presentation.
It would be interesting to hear your views (no pun intended) on Teaching old Streams new tricks By Viktor Klang
Haha yeah, I learned about
.view completely by accident due to a deprecation message when using the
As an aside, there are some other “fusings” without
view. For example, there is the common
.groupBy(???).mapValues(???).reduce(???) chain, which can be fused with
groupMapReduce(???) which is built-in, and similarly
.groupBy(???).mapValues(???) can be fused with
Thank you very much for your feedback, and thank you for the link to that presentation, I look forward to watching it.
Let’s see if the new Java Streams tricks will see impurepics updating the drawing for the letter J in his FP alphabet book.
The last time I used Java streams I had a go implementing quicksort and comparing the result with that in other languages.