1.1 From Iterating to Stream Operations1.2 Stream Creation1.3 The filter, map, and flatMap Methods1.4 Extracting Substreams and Concatenating Streams1.5 Other Stream Transformations1.6 Simple Reductions1.7 The Optional Type1.7.1 How to Work with Optional Values1.7.2 How Not to Work with Optional Values1.7.3 Creating Optional Values1.7.4 Composing Optional Value Functions with flatMap1.8 Collecting Results1.9 Collecting into Maps1.10 Grouping and Partitioning1.11 Downstream Collectors1.12 Reduction Operations1.13 Primitive Type Streams1.14 Parallel Streams