Java Functional Programming Idioms
summary
Focuses on concrete habits: prefer a collection pipeline (Stream → filter people older than 25 → map to name → map to uppercase → collect(joining(","))) instead of manual for‑loops; use IntStream.range/rangeClosed and Java 9 Stream.iterate for numeric iteration; align dots vertically to reduce cognitive load; treat lambdas as glue code (keep them short), favor method references and meaningful lambda parameter names, and keep lambdas pure (no mutable closed‑over state) to enable lazy evaluation, parallelism, testability and maintainable code.
AI-written summary · about
chapters (35)
- 0:00Intro
- 4:00Think Declaratively
- 6:52Decorative Style
- 9:07Functional Style
- 10:38Example
- 16:02Collection Pipeline Pattern
- 17:52Consultant
- 18:24Pipeline
- 19:07Humanity
- 21:25Cognitive load
- 22:11Code in the bottom
- 24:23Reduce cognitive load
- 24:41Imperative vs Functional
- 26:45Java 9 Functions
- 28:16Treat lambdas as glue code
- 29:06Number
- 29:40More Complex
- 30:16The Power of the Functional Pipeline
- 30:50lambdas or glue code
- 32:01hard to test
- 32:17hard to read
- 33:37lambda glue
- 34:06lambda coverage
- 35:19lambda glues
- 35:40method reference
- 35:51method references
- 37:03type inference
- 39:07good names
- 39:29cascading lambdas
- 39:43example of cascading
- 40:23lambda
- 41:22double values
- 41:35stream
- 42:56closure
- 44:06effectively final
related talks
56mJava Functional Programming Idioms
52mFunctional Programming with Java 8
01h 06mDesigning Applications with Functional Programming Constructs
57mLearning To Code In Functional Style with Java
55mFunctional Programming Patterns with Java8
43mRefactoring to Functional Style
57mTen Common mistakes made in Functional Java
51mFunctional Programming with Java
