• Online, Self-Paced
Course Description

Java, an object-oriented programming language, is one of the most widely used development languages in the world today. It allows programmers to create objects that can interact with other objects to solve a problem. This course covers how to use Lambda built-in functional interfaces. It covers primitive and binary version of base interfaces, as well as using the unary operator functional interface. It also covers Lambda operations with the Stream application program interface or API, using map and peek, as well as search and data related methods of the Stream API. It goes on to define the purpose of Java exceptions, and explains how to use the try and throw statements and the catch, multi-catch, and finally clauses. It covers auto closing resources with a try-with-resources statement, common exception classes and categories, creating custom exceptions, and testing invariants by using assertions. This course can be used to as part of preparation for the Oracle Certified Professional, Java SE 8 Programmer II exam.

Learning Objectives

Lambda Built-in Functional Interfaces

  • start the course
  • describe how to implement the core interfaces Predicate, Consumer, Function, and Supplier in the java.util.function package
  • describe how to use the primitive versions of built-in functional interfaces in Java
  • describe how to use the binary versions of built-in functional interfaces in Java
  • describe how to use the UnaryOperator functional interface in Java

Practice: Lambda Functional Interfaces for Java

  • practice creating a consumer, function supplier, and bipredicate lambda expression in Java

Lambda Operations

  • describe the types of stream operations in Java and overview map and peek
  • describe the map, flatMap, and peek methods in the Stream application programming interface or API, extract data from an object using map, and return data elements to a stream using peek
  • describe the java.util.stream search methods, and their use of optional classes and lazy processing
  • compare forEach loop to a findFirst short-circuit terminal operation in a Java program
  • describe the methods available for manipulating data in the Java Stream application programming interface or API
  • use Java stream methods to count the number of transactions and determine the min and max values in a collection for transactions
  • describe how to sort stream data using the collect method and Collectors class in Java
  • describe how to save, group, and partition data using the Collectors class in Java
  • collect, combine, and group stream data results in Java

Practice: Performing Calculations with Streams

  • use Java Stream methods to calculate totals and averages in a collection

Exceptions and Assertions

  • describe how to handle exceptions with try catch and finally clauses in Java
  • catch checked and unchecked exceptions in a Java program
  • describe how to use try-with-resources statements in Java
  • describe how to throw an exception in Java
  • describe how to catch custom exceptions in Java
  • extend and throw exceptions in Java programs
  • use assertions in Java programs

Framework Connections