Why Stream.apex?
In Stream.apex, a stream is an event-driven list of objects. We can chain operations on the stream, and the stream will emit events through all the operations one by one. In this way, streams do not create intermediate lists like most other list operations will do, and it is more efficient.