For Java developers moving to Java 8, the whole transition from our existing way of thinking to a stream-based approach is the biggest challenge. You have to learn how to think in terms of transformations rather than loops, and filters instead of if statements, and so on. Throw in the move to using Optional whenever a result might be null, and getting to know the new functional interfaces in the java.util.function package, and in many ways it feels like a completely new language.
Of course, that's what virtually the entire book is about.