Verbosity
The imperative way of things is pretty verbose. Here is a case in point. The filtering and flattening is pretty long:
import java.util.List; public class Books { private final String author; private final List<String> titles; public Books(String author, List<String> titles) { super(); this.author = author; this.titles = titles; } public String getAuthor() { return author; } public List<String> getTitles() { return titles; } } ------------------- PickUpInterestingStuff.java ----------------- import java.util.List; import com.google.common.collect.Lists; public class PickUpInterestingStuff { public static void main(String[] args) { List<Books> listOfBooks = Lists.newArrayList(); listOfBooks.add(new Books("Carr", Lists.newArrayList("The Mad Hatter Mystery", "The Blind Barber"))); listOfBooks.add(new Books("Christie", Lists.newArrayList("Death On The...