Advanced Java, 1920T3

4280 Outline

  1. Functional Interfaces, Type Inference, and Function-Like Objects
    • What is a Functional Interface?
    • The package java.util.function
    • Creating Comparators and Custom Sorting
    • Binary Operators
  2. The New FileIO Interface: java.nio.file This section will eventually replace the material on java.io in 4240.
    • The Path to Perdtion and the interface Path
    • The Static Service Class Files
    • Reading Text Files
    • Reading Binary Files
  3. GUIs
    • Stages
    • Layouts and Panes
    • Nodes, Controls and the Scene Graph
    • Event Handling
  4. Data Structures From the Inside. Here you learn how to build a data structure and you see that the same structure can be built with different internal mechanisms.
    • Stacks: Two Implementations
    • Implementing Iterable
    • Project: Two Implementations of a List
    • Project: The HiPPoPotamus Calculator: RPN logic
  5. The Collections Framework and java.util.Function
    • Maps
    • Sets
    • Queues
    • The Static Service Class Collections
    • JavaFX collections and the Observable Interface
  6. The Collections Framework: Using Data Structures from the Standard Libraries. Time to meet Java's standard container classes.
    • The static service class Collections
    • Lists
    • Maps
    • Using TableView
  7. The Streams API
    • Sources: Stream<T>, DoubleStream, IntStream, LongStream String.chars(), BufferedReader.lines() and FileIO,
    • Transformers: distinct, filter, flatMap, map, mapToInt, mapToDouble, mapToLong, limit, skip, sorted
    • Terminal Operations: findFirst, count, forEach, allMatch, anyMatch, noneMatch, reduce, collect, Collectors.toList() and friends