Stream Pipelines QuizJ8 Home « Stream Pipelines Quiz

Streams Quiz 2

The quiz below tests your knowledge of the material learnt in Streams - Lesson 2 - Stream Pipelines.

Question 1 : There must be one or more Intermediate operations in a stream pipeline?
- A stream pipeline can have ZERO or more intermediate operations.
Question 2 : How are the intermediate operations in a stream pipeline invoked?
- Intermediate operations in a stream pipeline are invoked by the terminal operation.
Question 3 : Is the following code snippet valid?
Employee.listOfStaff().stream()
.filter(e -> e.getAge() > 21)
.skip(2)
.limit(2)
.count()
.forEach(System.out::println);
- There were two terminal operations within the code snippet which the compiler doesn't like, so the code snippet is INVALID.
Question 4 : Terminal operations always produce a stream?
- Terminal operations always produce a <code>void</code> or non-stream result.
Question 5 : Which Stream interface methods primary purpose is debugging?
- The <code>peek()</code> methods primary purpose is debugging.
Question 6 : Is the following code snippet valid?
Employee.listOfStaff().stream()
.filter(e -> e.getAge() > 21)
.skip(2)
.limit(2);
- There are no terminal operations within the code snippet but the code will still compile and run it will just never get invoked.
Question 7 : What type of operations are Intermediate stream operations?
- Intermediate stream operations are <i>lazy</i> and are invoked by the terminal operation.
Question 8 : We can alter the inner state of an element within a pipeline, such as capitalising text?
- We can alter the inner state of an element within a pipeline using the <code>peek()</code> methods.
Question 9 : Is the following code snippet valid?
Employee.listOfStaff().stream()
.forEach(System.out::println);
- There are no intermediate opertions but the code is still valid, the terminal operation processes and prints off the whole stream.
Quiz Progress Bar Please select an answer


What's Next?

In the next quiz we test your knowledge of the different intermediate and terminal operations.