- Published on
Java Streams
- Authors
- Name
- Lucian Oprea
- @LucianDSA_
00:30:00
Basics and Concepts
⏷ 1. What are Java Streams, and how are they different from Collections?
⏷ 2. What is the difference between intermediate and terminal operations in Streams?
⏷ 3. What are the key characteristics of a Stream?
⏷ 4. Can you reuse a Stream after a terminal operation?
⏷ 5. Can you explain why streams are immutable and do not store data?
⏷ 6. How does lazy evaluation work in streams, and why is it beneficial?
⏷ 7. What happens if you use an infinite stream without a terminal operation?
Stream Creation
⏷ 8. What is the difference between Stream.of()
, Stream.generate()
, and Stream.iterate()
?
Intermediate Operations
⏷ 9. What is the difference between map()
and flatMap()
?
⏷ 10. What is the purpose of distinct()
, and how does it work?
⏷ 11. Can you explain the working of the filter()
and map()
methods?
⏷ 12. How do you sort elements in a Stream?
⏷ 13. What is the difference between peek()
and forEach()
?
Terminal Operations
⏷ 14. What is the purpose of reduce()
, and how does it work?
⏷ 15. How do you convert a Stream to a List
, Set
, or Map
?
Collectors and Grouping
⏷ 16. How do you group data using Collectors.groupingBy()
?
⏷ 17. What is the difference between Collectors.partitioningBy()
and groupingBy()
?
⏷ 18. How do you concatenate two or more streams in Java?
Parallel Streams
⏷ 19. What is the impact of parallel streams on shared mutable state? Provide an example.
⏷ 20. Can you explain the ForkJoinPool
used by parallel streams?
Stateful and Stateless Operations
⏷ 21. What is the difference between stateful and stateless intermediate operations?
⏷ 22. How does distinct()
work internally? Is it stateful or stateless?
⏷ 23. How do you join elements in a Stream into a single string using Collectors.joining()
?
Stream Exceptions and Debugging
⏷ 24. How do you handle exceptions inside a stream pipeline?
⏷ 25. What happens if a null value is encountered in a stream operation like map()
?
⏷ 26. Can you debug the operations applied to a stream? If so, how?
⏷ 27. Why is modifying elements in a stream pipeline considered a bad practice?
Advanced Topics
⏷ 28. What are the benefits of lazy evaluation in Streams?
⏷ 29. How do you find the second highest element in a list using streams?
⏷ 30. Can you use streams to implement a sliding window operation? How?
⏷ 31. How do you perform multi-level grouping using Collectors.groupingBy()
?
⏷ 32. How can streams be used to detect cyclic dependencies in a graph-like data structure?