Start here. This is the direct spoken answer to practice first.
Overview
A collector describes how stream elements are accumulated into a result, often with useful composition for grouped summaries.
collect performs a mutable reduction using a Collector. toList, toSet, and toMap build common result containers, while groupingBy partitions elements by a key into a map. A downstream collector can aggregate each group, such as groupingBy(Order::status, counting()) for counts per status. mapping, summingInt, and can shape or summarize values inside each group.