Course Content
Stream API
Stream API
1. Fundamentals and Functional Capabilities of Stream API
ArchitecturePrinciplesWhat Is a Functional Interface?Predicate: Data FilteringChallenge: Filtering Corporate Email AddressesFunction: Data TransformationChallenge: Income Tax CalculationComparable: Natural Ordering of DataComparator: Custom Comparison of DataChallenge: Sorting Employees Consumer: Processing Data Supplier: Data GenerationBi-versions of Functional InterfacesChallenge: Filtering Users by Two CriteriaBinaryOperator: Combining Two Values
2. Intermediate Operations in Stream API
Transforming Elements with the map() MethodFiltering Elements with the filter() MethodChallenge: Factory Product FilteringWorking with Nested Structures with the flatMap() MethodArranging Items in Order with the sorted() MethodChallenge: Selecting the Best Cars on the Production LineEliminating Duplicates with the distinct() MethodChallenge: Factory Quality ControlRestricting and Skipping Elements with the limit() and skip() MethodsChallenge: Finding the Top 3 Hardest-Working EmployeesIntermediate Processing with the peek() Method
3. Terminal Operations in the Stream API
collect() Gathering Stream Elements into a CollectionChallenge: Build a Custom Collector for Category CountingCollectors Utility Class for Stream APIProcessing Elements with the forEach() MethodHandling Values with the Optional ClassAggregating Elements with the reduce() MethodChallenge: Calculating Total Cost with Discounts and TaxCalculating Stream Statistics with count(), max(), and min()Retrieving Stream Summary Metrics with summaryStatistics() MethodRetrieving Elements from a Stream with findFirst() and findAny()Challenge: Selecting Random Products Within a CategoryChecking Stream Elements Against a Condition with allMatch()Challenge: Ensuring Fast Delivery for Expensive Products
4. Practical Applications of Stream API
Challenge: Selecting Random Products Within a Category
Task
Swipe to start coding
Imagine you have a list of products from an online store. Your goal is to group them by category, pick a random product from each group, and display the result.
- Group the list of products by
category
usinggroupingBy()
. - For each category (
productList
), get the list of products using thestream()
method and select a random product withfindAny()
. - Check if the
Optional
contains a value usingifPresent()
. - If
Optional
has a value, print the information in the following format:"Category: {category} => {product}"
.
Solution
solution
Everything was clear?
Thanks for your feedback!
Section 3. Chapter 11
Challenge: Selecting Random Products Within a Category
Task
Swipe to start coding
Imagine you have a list of products from an online store. Your goal is to group them by category, pick a random product from each group, and display the result.
- Group the list of products by
category
usinggroupingBy()
. - For each category (
productList
), get the list of products using thestream()
method and select a random product withfindAny()
. - Check if the
Optional
contains a value usingifPresent()
. - If
Optional
has a value, print the information in the following format:"Category: {category} => {product}"
.
Solution
solution
Everything was clear?
Thanks for your feedback!
Section 3. Chapter 11