Are you programming in a functional style? Venkat Subramaniam shows how to transition from an imperative to a functional style. In this JavaOne session, he presents new APIs and what to look for while programming in a functional style. With functional style, your code is concise, more expressive, easier to understand, and easier to change. He describes 6 different exercises in which he first programs in an imperative before transitionning to a functional style.
A breakdown of his presentation by topic:
His code samples are available at http://www.agiledeveloper.com/downloads.html