No description, website, or topics provided.
Switch branches/tags
Nothing to show
Latest commit 4786c46 Feb 24, 2017 @mariofusco mariofusco changes for 2nd edition
Failed to load latest commit information.
src/main changes for 2nd edition Feb 24, 2017
.gitignore mavenize project Nov 1, 2013
LICENSE Create LICENSE Dec 6, 2013 Updated READ.ME file Jan 19, 2016
pom.xml changes for 2nd edition Feb 24, 2017


This repository contains all the source code for the examples and quizzes in the book Java 8 in Action: Lambdas, Streams and functional-style programming.

You can purchase the book here: or on Amazon

The source code for all examples can be found in the directory src/main/java/lambdasinaction

  • Chapter 1: Java 8: why should you care?
  • Chapter 2: Passing code with behavior parameterization
  • Chapter 3: Lambda expressions
  • Chapter 4: Working with Streams
  • Chapter 5: Processing data with streams
  • Chapter 6: Collecting data with streams
  • Chapter 7: Parallel data processing and performance
  • Chapter 8: Refactoring, testing, debugging
  • Chapter 9: Default methods
  • Chapter 10: Using Optional as a better alternative to null
  • Chapter 11: CompletableFuture: composable asynchronous programming
  • Chapter 12: New Date and Time API
  • Chapter 13: Thinking functionally
  • Chapter 14: Functional programming techniques
  • Chapter 15: Blending OOP and FP: comparing Java 8 and Scala
  • Chapter 16: Conclusions and "where next" for Java
  • Appendix A: Miscellaneous language updates
  • Appendix B: Miscellaneous library updates
  • Appendix C: Performing multiple operations in parallel on a Stream
  • Appendix D: Lambdas and JVM bytecode We will update the repository as we update the book. Stay tuned!

Make sure to have JDK8 installed

The latest binary can be found here:

$ java -version

java version "1.8.0_05" Java(TM) SE Runtime Environment (build 1.8.0_05-b13) Java HotSpot(TM) 64-Bit Server VM (build 25.5-b02, mixed mode)

You can download a preview version here:

Compile/Run the examples

Using maven:

$ mvn compile

$ cd target/classes

$ java lambdasinaction/chap1/FilteringApples

Alternatively you can compile the files manually inside the directory src/main/java

You can also import the project in your favorite IDE: * In IntelliJ use "File->Open" menu and navigate to the folder where the project resides * In Eclipse use "File->Import->Existing Maven Projects" (also modify "Reduntant super interfaces" to report as Warnings instead of Errors * In Netbeans use "File->Open Project" menu