I was asked to complete this exercise as a pre-interview screening task for a music industry startup.
The exercise was to be completed using Java, which I had scarcely looked at for a few years when I started. I decided to use it as an opportunity to look at Java 8 and learn a little of the lambdas that had been introduced during my time in the world of Scala.
This means that the use of Java 8 Streams may not be as idiomatic as I would hope, certainly I would need to spend a little more time studying them to be sure I have used them correctly.