Skip to main content
CF

Java Streams API

2h 33m 12s
English
Paid

Functional programming is becoming increasingly popular due to its emphasis on pure functions. Functional applications avoid shared state, resulting in code that is typically more concise and predictable compared to traditional object-oriented approaches. In this Java Streams API course, you will learn how to transition from an imperative to a declarative programming style, allowing you to write less code and concentrate on building efficient and meaningful applications.

Course Overview

What is Functional Programming?

Gain an understanding of the core principles of functional programming and how it contrasts with traditional programming paradigms.

Stream API

Learn about the Stream API in Java and how it enables you to perform operations on collections of data more efficiently and with a functional style.

Transformations with Map, Reduce, and FlatMap

Explore how to apply transformations using map, reduce, and flatMap to manipulate and process streams of data.

Filtering with Filter and TakeWhile

Understand how to filter data using filter and takeWhile to streamline your data processing workflow.

Collectors

Discover the power of collectors in collecting and summarizing data from streams into various containers, such as lists and maps.

Statistics

Learn how to perform statistical operations on streams of data to gain insights and analytics.

Grouping

Dive into grouping operations to organize streams of data into meaningful categories for further evaluation.

Sorting

Master techniques to sort streams of data, making them easier to navigate and interpret.

Additional

https://github.com/amigoscode/java-streams

About the Author: Nelson Djalo (Amigoscode)

Nelson Djalo (Amigoscode) thumbnail

Nelson Djalo publishes the Amigoscode YouTube channel and standalone course platform — one of the largest independent Java / Spring Boot tutorial sources online, with several million subscribers and a multi-year track record of weekly back-end engineering tutorials.

The course catalog covers the full Java back-end stack: Java fundamentals, Spring Boot for production web services, Spring Security and OAuth, Spring Data and JPA, microservices patterns with Spring Cloud, Kafka and event-driven architecture, Docker and Kubernetes for the deployment layer, AWS for cloud infrastructure, and the database side (PostgreSQL, MongoDB, Redis). Material is project-oriented — most courses build a working microservice or full application end-to-end.

The CourseFlix listing under this source carries over 13 Amigoscode courses spanning that range. Material is paid; Amigoscode runs on per-course or membership pricing on the original platform. Courses are aimed at Java developers building production back-end services.

Watch Online 49 lessons

This is a demo lesson (10:00 remaining)

You can watch up to 10 minutes for free. Subscribe to unlock all 49 lessons in this course and access 10,000+ hours of premium content across all courses.

View Pricing
0:00
/
#1: Intellij
All Course Lessons (49)
#Lesson TitleDurationAccess
1
Intellij Demo
01:21
2
Clone
03:43
3
Codebase Walkthrough and Start Branch
03:04
4
Java Streams
03:30
5
How Streams Work
03:27
6
Getting Started With Streams
06:30
7
Exercise
00:59
8
Impretive Solution
01:52
9
Declarative Solution
04:08
10
Visualize Streams
02:13
11
IntStreams
03:54
12
Exercise
00:28
13
Exercise Solution
02:03
14
InsStream Iterate
02:07
15
Other Types of Steams
01:30
16
Finding Minimum Number
03:35
17
Finding Maximum Number
01:39
18
Distinct
02:51
19
Collecting to Set
02:41
20
Filter
04:20
21
Take While
03:23
22
Drop While
02:46
23
Find First
03:10
24
Find Any
02:36
25
AllMatch and AnyMatch
04:36
26
Map
09:54
27
Exercises
00:39
28
Exercise Solution
01:56
29
Reduce
04:01
30
Exercise
01:03
31
Exercise Sol
02:30
32
Flatmap List of Lists
02:16
33
Flatmap List of Optionals
03:19
34
Count
04:00
35
Min Max without comparators
02:02
36
Average and Sum
02:22
37
Summary Statistics
03:39
38
GroupBy
05:00
39
Grouping and Counting
03:33
40
Sorting Elements
03:48
41
Sorting Objects
06:07
42
Exercise
00:25
43
Exercise Solution
02:07
44
Joining Strings Exercise
01:24
45
Joining Strings Exercise Solution
03:50
46
Understanding Collectors
06:20
47
Collectors and Combiner
02:47
48
Streams Are Lazy
03:22
49
How Streams Process Data.cmproj
04:22
Unlock unlimited learning

Get instant access to all 48 lessons in this course, plus thousands of other premium courses. One subscription, unlimited knowledge.

Learn more about subscription

Related courses

Frequently asked questions

What prerequisites are needed for this course?
This course assumes a basic understanding of Java, including familiarity with object-oriented programming concepts. It will be beneficial if you have prior experience with Java collections, as the course focuses on the Java Streams API to perform operations on collections of data.
What kind of projects or exercises will I work on?
Throughout the course, you'll engage in exercises that involve transforming, filtering, and collecting data using Java Streams. You will work on tasks such as finding the minimum and maximum numbers, grouping and sorting elements, and performing statistical operations. These exercises are designed to reinforce your understanding of functional programming and the Stream API.
What is the target audience for this course?
This course is designed for Java developers who want to transition from an imperative to a declarative programming style using the Stream API. It is particularly useful for those interested in functional programming and looking to write more efficient and concise code.
How does the depth of this course compare to other Java courses?
The course provides a focused exploration of the Java Streams API and its applications in functional programming. It goes beyond basic usage by covering advanced topics like transformations, filtering, grouping, and collecting data. This depth makes it suitable for developers who are already comfortable with Java and are seeking to enhance their skills in functional programming.
What specific tools or platforms will I use in this course?
The course includes a lesson on using IntelliJ, which is a popular integrated development environment (IDE) for Java development. You'll use it to clone the codebase, perform code walkthroughs, and implement solutions to the exercises provided throughout the course.
What topics are not covered in this course?
The course does not cover topics outside the Java Streams API, such as Java concurrency, JavaFX, or other Java frameworks. Its primary focus is on functional programming concepts and operations related to processing data using streams.
How much time should I expect to commit to this course?
The course consists of 49 lessons, each varying in length. While the total runtime is not specified, you should allocate time for both lesson viewing and practical exercises. Depending on your familiarity with the subject, you might spend additional time reviewing concepts and completing exercises to ensure a thorough understanding.