4.45 out of 5
4.45
651 reviews on Udemy

Java Streams API Developer Guide

Functional Programming with Java 8
Instructor:
Nelson Djalo
4,913 students enrolled
English [Auto-generated]
Functional Programming
Know how to use Java Streams API
Understand the benefits Streams have to offer
Know how to use concrete > abstraction > concrete pattern
Gather stats from datasets
Deliver more features instead of focusing how to make code that works right.
Use streams to perform transformations using stream().map(...)
Learn awesome IDEA features

Java 8 brought a lot great new features to the table. A lot people say, the community was late in bringing these features, but what often people dont realise is that brought these new features late but what they did exceptionally well was to implement them better than anyone and give us developers a wonder API to use, and one of the them was the Stream API.

Before Java we wrote a lot code for simple logic and yet we could get it wrong very easily. Well this is not the case with Java 8 in particulate with Streams. With Streams we focus on coding and deliver what we indent rather than thinking of how we are going to code the logic to do what we intend. Streams focuses on the ALL instead of the PARTS. Streams not only focuses on the ALL but it also allows us to write functional style programming, and this is what makes Streams and the  Java programming language very attractive to developers.

This course is packed with awesome sections that will take you the journey from from zero to hero. You will learn and understand what I call the 

concrete > abstraction > concrete phase 

and once you grasp this concept we will dive into the abstraction phase and learn awesome features such as

  • Map
  • Filter
  • Flatmap
  • Reduce
  • Average 
  • Sum
  • Min
  • Difference between intermediate & terminal operations 
  • And much more

Finally at the end of this course I will teach how streams work internally, their order of execution and the performance benefits they have to offer.

The best way to learn any concept is to learn and practice as you go along. So, I packed this course with plenty of exercise for you to challenge your to ensure you learn and start using functional programming with stream moving forward in you career as a Java software engineer.

I cant wait to see you inside.

Thaks

Introduction

1
Introduction

In this lecture you will get to know me.

Environment Setup

1
Lets install Java Development Kit (JDK)

In this lecture you will install Java Development Kit.

2
Lets install Injellij IDEA

In this lecture you will download Intellij IDEA. You will also install and configure google style code for better code formatting.

3
Setting up JDK with IntelliJ and running all tests cases

In this lecture you will configure Intellij and JDK 1.8. You will also run all test cases which will output to the console all the material to be covered in this course.

4
Codebase walkthrough and branches

In this lecture you will learn the code base and how to switch between branches that have the completed and the staring point source code.

Lets get started

1
Intro to Java Stream API (KEYNOTE)

In this lecture you will learn what streams are and what problem they solve.

2
Imperative Approach Exercise
3
Imperative Approach Solution

In this lecture you will learn how to solve problems using the imperative approach.

4
Declarative / Functional Style Approach

In this lecture you will learn how to solve problems using the declarative / functional style approach.

5
Understanding Stream Pipeline. Concrete > Abstraction > Concrete

In this lecture you will learn how streams pipeline work and what I call the Concrete > Abstraction > Pattern.

Iterating with Streams

1
Iterating with IntStream (range and rangeClosed)
2
Exersise
3
Iterating through lists with IntStream (Exercise Solution)
4
IntStream.iterate

Max, Min & Comparators

1
Finding min number
2
Exercise
3
Finding max (Exercise Solution)

Distinct and Collectors.toSet()

1
Removing duplicates in a List
2
Removing duplicates in a List with Collectors.

Filtering and Transformations

1
Filtering
2
Transformations with stream.map
3
Exersise
4
stream.mapToDouble (exercise solution)

Find Any vs Find First

1
stream.findAny
2
stream.findFirst
3
Understanding core difference between stream.findAny and stream.findFirst

Pulling out statistics from your data

1
Counting
2
Min & Max without comparators
3
Calculating Averages
4
Exercise
5
Summing up numbers (Exercise Solution)
6
Gathering Statistics with Streams

Grouping data with streams like SQL

1
Grouping data
2
Grouping & Counting data

Reduce and Flatmap

1
Reduce
2
Exercise
3
Flatmap

Joining Strings

1
Exercise
2
Joining Strings (PART) (Exercise Solution)
3
Joining Strings (PART 2)

Lets understand how steams really work

1
Understanding .collect(...)
2
Collectors and Multitrheading
3
Intermidiate & terminal operators and lazy valuation
4
The Order of how streams process data

Lets wrap up

1
Thank you
You can view and review the lecture materials indefinitely, like an on-demand channel.
Definitely! If you have an internet connection, courses on Udemy are available on any device at any time. If you don't have an internet connection, some instructors also let their students download course lectures. That's up to the instructor though, so make sure you get on their good side!
4.5
4.5 out of 5
651 Ratings

Detailed Rating

Stars 5
301
Stars 4
268
Stars 3
66
Stars 2
10
Stars 1
6
453c31c0a053a33df1b9dacd21850595
30-Day Money-Back Guarantee

Includes

2 hours on-demand video
7 articles
Full lifetime access
Access on mobile and TV
Certificate of Completion