recursive.codes

recursive.codes

recursive.codes


The Personal Blog of Todd Sharp

A Groovy Alternative To Java 8 Streams and Collectors

Posted By: Todd Sharp on 3/22/2017 4:19 GMT
Tagged: Groovy, Java

I recently read this article over at DZone about using Java 8 Streams and Collectors to manipulate and perform calculations on a list of integers.  I don't intend to start an argument over which language is better, but my immediate thought was that it would make a good blog post to show how one might perform these tasks in Groovy.  Collections in Groovy have long been a shining example of how Groovy enhances Java with convenience methods for common tasks.  Here's a recreation of all the examples in the DZone post to show you how easy Groovy makes them:

Let's throw together a List of 100 random integers:

Determining the sum and average is quite simple:

Though, average isn't a built in method.  So, let's add it using metaprogramming instead:

What about min/max?

There's no built in method to the DZone summarizingInt() example, but we can do either: 

Or, again, add a method via metaprogramming:

Partitioning a list?  No problem in Groovy, just use groupBy:

Here's the full example in case you'd like to run them all yourself:

Image by romaneau from Pixabay



Related Posts

Querying Autonomous Database from an Oracle Function (The Quick, Easy & Completely Secure Way)

Querying Autonomous Database from an Oracle Function (The Quick, Easy & Completely Secure Way)

I've written many blog posts about connecting to an Autonomous DB instance in the past. Best practices evolve as tools, services, and frameworks become...

Sending Email With OCI Email Delivery From Micronaut

Sending Email With OCI Email Delivery From Micronaut

Email delivery is a critical function of most web applications in the world today. I've managed an email server in the past - and trust me - it's not fun...

Brain to the Cloud - Part III - Examining the Relationship Between Brain Activity and Video Game Performance

Brain to the Cloud - Part III - Examining the Relationship Between Brain Activity and Video Game Performance

In my last post, we looked at the technical aspects of my Brain to the Cloud project including much of the code that was used to collect and analyze the...

Note: Comments are currently closed on this blog. Disqus is simply too bloated to justify its use with the low volume of comments on this blog. Please visit my contact page if you have something to say!