lambdas and streams
functions as values, and pipelines that process data lazily, one element at a time.
- 01lambdassyntax, target typing, and why captured variables must be effectively final.
- 02functional interfacesFunction, Supplier, Consumer, Predicate and the rest of the zoo.
- 03method referencesthe four kinds of ::, and what each one desugars to.
- 04how a stream pipeline runssource → intermediate → terminal. lazy, one element at a time.
- 05stream operationsmap, filter, flatMap, sorted, distinct, limit, takeWhile.
- 06collectorstoList, groupingBy, partitioningBy, toMap, teeing.
- 07reductionreduce with identity, accumulator, combiner. and when to use collect instead.
- 08primitive streamsIntStream and friends, and the cost of boxing.
- 09gatherersjava 24+custom intermediate operations: windows, scans, and mapConcurrent.
- 10parallel streamsspliterators, the common pool, and when parallel is slower.