I really enjoyed Functional Thinking, read it a few months ago. Its a very good introduction to get yourself thinking... functionally! All the examples are Java 9, Scala, Groovy, or Clojure, which isn't my cup of tea since I don't write code on the JVM, but its more about understanding the concepts (and shouldn't be an issue for you).
A quick rundown of some high level keywords I jotted down while reading. Map, Reduce/Fold, Filter, Apply, Curry, Partial Application, Memoization, Lazy Loading / Streams, Either / Option in Scala.