Functional Interfaces in Java: Fundamentals and Examples
- 3h 27m
- Ralph Lecessi
- Apress
- 2019
Reduce development time by organizing your programs as chains of functional interfaces and see that the advantages of using functional interfaces include the flexibility and power of inlined functional chains and reuse of functional methods utilized throughout the Java API. You’ll see how complex logical expressions can be reduced to chains of predicates and how chains of comparators can be used to sort data by several criteria in order. Other examples include streams that utilize functional interfaces to filter, sort, transform, and perform calculations on data; CompletableFutures that use functional interfaces to create cascading and parallel execution threads; and JavaFX programs that use functional interfaces to monitor the data backed by their graphical components.
Each chapter contains a complete programming project: the Discount Dave project shows you how to qualify car customers by organizing questions as a list of predicates; the Real Estate Broker project shows you how to use chains of comparators to filter and sort homes according to customer priorities; the Dave's Part Inventory project shows you how to query and write reports from an inventory database using stream operations; and the Sentence Builder project shows you how to correct a sentence by implementing each grammar rule as a separate link in a future chain.
Functional Interfaces in Java will help you quickly develop powerful and reliable programs that utilize functional interfaces to implement logic and calculations.
What You Will Learn
- Use the functional interfaces in the java.util.function package to perform conditional logic, transform and generate data, and perform calculations
- Filter and sort data by several criteria using comparators
- Process collections and filter, sort, transform, and reduce stream elements with functional interfaces
- Write cascading and parallel execution threads
Who This Book Is For
Computer science student or a professional Java programmer. This work is a rigorous discussion of the application of functional interfaces, so prerequisites for this text include basic Java programming and object-oriented Java programming.
About the Author
Ralph Lecessi is a software engineer with over 30 years’ professional programming experience in the aerospace, telecommunications, and payment industries at companies including Lockheed Martin, Alcatel-Lucent, AT&T, and Northrop Grumman. He is currently lead embedded software developer at TranSendIT, Inc in Mount Laurel, New Jersey.
Ralph is also the author of JAVATM - The Beginnings―a text on basic Java programming that includes many examples and diagrams. Ralph is an adjunct professor of programming at Middlesex County College, where he teaches basic and object-oriented programming in Java. He lives in South Brunswick, New Jersey, with his wife and two children.
In this Book
-
Functional Interfaces
-
Lambda Expressions
-
Predicates
-
Functions
-
Operators
-
Consumers
-
Suppliers
-
Use in Traversing Objects
-
Use in Collections
-
Use in Comparing Objects
-
Use in Optionals
-
Use in Streams
-
Use in Multithreaded Programs
-
Use in Atomic Calculations
-
Use in JavaFX Applications