- 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?