Shop New Baby Products
$45.99

These promotions will be applied to this item:

Some promotions may be combined; others are not eligible to be combined with other offers. For details, please see the Terms & Conditions associated with these promotions.

You've subscribed to ! We will preorder your items within 24 hours of when they become available. When new books are released, we'll charge your default payment method for the lowest price available during the pre-order period.
Update your device or payment method, cancel individual pre-orders or your subscription at
Your Memberships & Subscriptions

Buy for others

Give as a gift or purchase for a team or group.
Learn more

How it works

  1. Choose your delivery method
  2. Send now or schedule for later
  3. Add your personal message
  4. Recipients can read on any device

These ebooks can only be redeemed by recipients in the US. Redemption links and eBooks cannot be resold.

Added to

Sorry, there was a problem.

There was an error retrieving your Wish Lists. Please try again.

Sorry, there was a problem.

List unavailable.
Kindle app logo image

Download the free Kindle app and start reading Kindle books instantly on your smartphone, tablet, or computer - no Kindle device required.

Read instantly on your browser with Kindle for Web.

Using your mobile phone camera - scan the code below and download the Kindle app.

QR code to download the Kindle App

  • Functional Programming in Java: Harness the Power of Streams and Lambda Expressions

Follow the author

Follow authors for new release and deal updates, plus improved recommendations. See updates from all followed authors in Your Books.
Something went wrong. Please try your request again later.

Functional Programming in Java: Harness the Power of Streams and Lambda Expressions

4.9 out of 5 stars (12)

Imagine writing Java code that reads like the problem statement, code that's highly expressive, concise, easy to read and modify, and has reduced complexity. With the functional programming capabilities in Java, that's not a fantasy. This book will guide you from the familiar imperative style through the practical aspects of functional programming, using plenty of examples. Apply the techniques you learn to turn highly complex imperative code into elegant and easy-to-understand functional-style code. Updated to the latest version of Java, this edition has four new chapters on error handling, refactoring to functional style, transforming data, and idioms of functional programming.


Don't struggle with the limitations of the imperative style; instead learn to combine object-oriented programming with the functional style to reduce the accidental complexity. Harness the functional programming capabilities of Java to create applications where the program reveals its intentions and your team can quickly understand and modify code to align with changing business requirements. Unlock the power of lambda expressions and the Streams API to turn the oft-written spaghetti code into highly concise, expressive, elegant, and maintainable code. See how Streams make the arduous task of parallelizing code as easy as flipping a switch when superior speed is necessary.


Apply design patterns built around lambda expressions, safely manage resource allocations, use memoization, and learn to transform data into different forms, all while honoring immutability, and providing thread safety to leverage lazy evaluation for efficiency and parallel execution for performance. Move beyond the basics, explore the idioms for writing functional programs. Learn to think functionally by refactoring legacy code into the functional style. And, if your code runs aground due to failures, learn to properly handle errors the functional way.

Don't drown in theory; instead learn the practical functional programming techniques to create superior Java code.

What You Need:

Java version 8 or newer.

This title is only available on select devices and the latest version of the Kindle app. Please refer to the supported device list before purchase. Available on these devices

See all supported devices

Kindle E-Readers

  • Kindle Paperwhite (6th Generation)
  • Kindle Paperwhite (7th Generation)
  • Kindle Colorsoft (1st Generation)
  • Kindle Scribe (1st Generation, 2022 Release)
  • Kindle (8th Generation)
  • Kindle Paperwhite (11th Generation)
  • Kindle Scribe (3rd Generation)
  • Kindle Scribe Colorsoft (1st Generation)
  • Kindle Oasis (8th Generation)
  • Kindle Paperwhite (10th Generation)
  • Kindle Voyage (7th Generation)
  • Kindle Oasis (10th Generation)
  • Kindle Oasis (9th Generation)
  • Kindle Paperwhite (12th Generation)
  • Kindle (10th Generation)
  • Kindle (11th Generation, 2024 Release)
  • Kindle Scribe (2024 Release)
  • Kindle (11th Generation, 2022 Release)
  • Kindle (7th Generation)

Fire Tablets

  • Fire 7 (9th Generation)
  • Fire HD 10 (9th Generation)
  • Fire HD 8 (10th Generation)
  • Fire HD 10 Plus
  • Fire HD 8 (8th Generation)
  • Fire 10 HD (13th Gen)
  • Fire HD 8 (12th Generation)
  • Fire Max 11 (13th Generation)
  • Fire 7 (12th Generation)
  • Fire HD 8 (12th Generation)
  • Fire HD 10 (11th Generation)
  • Fire HD 8 (12th Generation)

Free Kindle Reading Apps

  • Kindle for Android Tablets
  • Kindle for Android Phones
  • Kindle for iPad
  • Kindle for iPhone
  • Kindle for PC
  • Kindle for Web
  • Kindle for Mac

Alexa Tablets & Amazon Kids Tablets

  • Alexa Tablet 12 Pro (8GB)
  • Alexa Tablet 12 Pro (16GB)
  • Alexa Tablet 11 (8GB) & Amazon Kids Tablet 11 (8GB)
  • Alexa Tablet 8 (8GB)
  • Alexa Tablet 8 (4GB) & Amazon Kids Tablet 8 (4GB)

Customers also bought or read

Loading...

From the Publisher

Functional Programming in Java: Harness the Power of Streams and Lambda Expressions

From the Preface

Who’s This Book For

This book is for programmers well versed in object-oriented programming in Java and keen to learn and apply the functional programming facilities. You’ll need good experience programming in previous versions of Java, at least Java 5, to make the best use of this book.

Programmers mostly interested in JVM languages like Scala, Groovy, JRuby, Kotlin, and Clojure can benefit from the examples in this book and can relate back to the facilities offered in those languages. They can also use the examples to help fellow Java programmers on their teams.

Programmers experienced with the functional style of programming in other languages and who are now involved in Java projects can use this book, as well. They can learn how what they know translates to the specifics of the lambda expressions’ usage in Java.

Programmers who are familiar with lambda expressions in Java can use this book to help coach and train their team members who are getting up to speed in this area.

What’s in This Book

This book will help you get up to speed with the functional programming capabilities in Java, to think in the elegant style, and to benefit from the additions to the Java Development Kit (JDK) library. We’ll take an example-driven approach to exploring the concepts. Rather than discuss the theory of functional programming, we’ll dive into specific day-to-day tasks to apply the elegant style. This approach will quickly get these concepts under our belts so we can put them to real use on projects right away.

On the first read, take the time to go over the chapters sequentially as we build upon previously discussed concepts and examples. Each chapter closes with a quick summary to recap what was covered. Later, when working on applications, take a quick glance at any relevant example or section in the book. There’s also a syntax appendix for quick reference.

Editorial Reviews

About the Author

Venkat Subramaniam is an award-winning author, founder of Agile Developer, Inc., and an instructional professor at the University of Houston. He has trained and mentored thousands of software developers in the US, Canada, Europe, and Asia, and is regularly invited to speak at international conferences. He's the (co)author of multiple books, including the 2007 Jolt Productivity award winning book Practices of an Agile Developer.

Product details

  • ASIN ‏ : ‎ B0CJL7VKFL
  • Publisher ‏ : ‎ Pragmatic Bookshelf
  • Accessibility ‏ : ‎ Learn more
  • Publication date ‏ : ‎ July 20, 2023
  • Edition ‏ : ‎ 2nd
  • Language ‏ : ‎ English
  • File size ‏ : ‎ 2.3 MB
  • Enhanced typesetting ‏ : ‎ Enabled
  • X-Ray ‏ : ‎ Not Enabled
  • Word Wise ‏ : ‎ Not Enabled
  • Print length ‏ : ‎ 478 pages
  • ISBN-13 ‏ : ‎ 979-8888650431
  • Page Flip ‏ : ‎ Enabled
  • Best Sellers Rank: #1,947,499 in Kindle Store (See Top 100 in Kindle Store)
  • Customer Reviews:
    4.9 out of 5 stars (12)

About the author

Follow authors for new release and deal updates, plus improved recommendations. See updates from all followed authors in Your Books.
Venkat Subramaniam
Brief content visible, double tap to read full content.
Full content visible, double tap to read brief content.

Dr. Venkat Subramaniam, founder of Agile Developer, Inc., has trained and mentored thousands of software developers in the US, Canada, Europe, and Asia. Venkat helps his clients effectively apply and succeed with agile practices on their software projects. He is a frequent invited speaker at international software conferences and user groups. He's author of .NET Gotchas (O'Reilly), coauthor of the 2007 Jolt Productivity award-winning book Practices of an Agile Developer (Pragmatic Bookshelf),

and author of Programming Groovy (Pragmatic Bookshelf).

Customer reviews

4.9 out of 5 stars
12 global ratings
Sign in to see customer reviews.

Report an issue


Does this item contain inappropriate content?
Do you believe that this item violates a copyright?
Does this item contain quality or formatting issues?