Streams represent one traversal and generally cannot be operated on again after a terminal operation. Collections can supply fresh streams.
Before you start
You should know Java classes, methods, collections and exceptions. Trace object identity separately from the contents of an object. For concurrent examples, state which thread owns or shares the data; a single successful execution is not proof that every interleaving is safe.
The practical goal is to reason through this situation: Compute count using one stream and create a new stream for a separate transformation. Read the walkthrough first, then try the interview exercise before opening its answer. The important part is explaining the decision and its consequences, rather than remembering a definition alone.
Step-by-step walkthrough
Step 1: Identify traversal ownership
A stream represents a one-use traversal rather than reusable stored data.
Step 2: Create fresh traversals
Call collection.stream again for a second independent terminal operation.
Step 3: Choose reusable return types
Return a collection or documented fresh-stream supplier when callers need repeated access.
Worked scenario
Compute count using one stream and create a new stream for a separate transformation.
A count terminal operation consumes a stream. Calling toList on that same stream afterward can fail with IllegalStateException. Starting another stream from the original collection is a new traversal, but a file-backed stream additionally needs deliberate resource closure for each traversal.
Common mistake
Storing a stream for later reuse creates an invalid lifecycle expectation.
Verify the behavior
Attempt reuse, then use two fresh streams and verify resource cleanup where applicable.
Interview exercise
Return reusable data to callers.
Answer and reasoning
Return a collection or a supplier that deliberately creates a fresh stream, with clear resource ownership.
Continue learning
Compare the scenario with the Java interview questions and test your understanding with the Java MCQs. For terminology and implementation details, consult the reference material.