Skip to content

Instantly share code, notes, and snippets.

@mmonti
Created September 22, 2015 22:54
Show Gist options
  • Save mmonti/bbdcfd6ac9b20d3caa7c to your computer and use it in GitHub Desktop.
Save mmonti/bbdcfd6ac9b20d3caa7c to your computer and use it in GitHub Desktop.
Oracle Massive Open Online Course: Java SE 8 Lambdas and Streams
Lesson 1: Lambda Expressions
This week covers the new lambda expressions feature added to Java SE 8. The lessons cover:
Why lambda expressions are needed in Java.
Why this feature was added to Java after twenty years.
The syntax of lambda expressions.
How to use lambda expressions and the rules that govern their use.
Examples of classes and methods that use lambda expressions like the new removeIf and replaceAll methods in the Collections API.
We provide video instruction along with written tutorials that guide you through the process. Please watch each video carefully to ensure that you have your system properly set up to complete this lesson. The videos and tutorials are listed sequentially, and we recommend that you use the instructional materials in that order.
As you progress through the materials, you will notice that the Oracle Learning Library adds a green check mark next to each item that you have accessed. This helps you track your progress. Don't hesitate to ask a question in the forum if you hit a snag.
Enjoy!
Videos:
https://www.youtube.com/watch?v=WXtVHTGDV9g
https://www.youtube.com/watch?v=DD5IKXx4ZPk
https://www.youtube.com/watch?v=oV6nNR6im6o
https://www.youtube.com/watch?v=kKFD9fwcmtk
https://www.youtube.com/watch?v=CURWqa7KWDk
https://www.youtube.com/watch?v=sciFQ_s4cQU
https://www.youtube.com/watch?v=olKF7VpJMfg
Lesson 2: Introduction to the Streams API
In lesson 2 you will learn how to use the new Streams API to apply functional programming techniques in Java. You will learn to:
Use functional programming concepts.
Define streams and stream pipelines in Java.
Create object streams and primitive streams.
Create streams using Java classes.
Use intermediate operations in a stream pipeline.
Use terminal operations in a stream pipeline.
Use the Optional class to handle null values.
Homework is linked in the Supporting Materials section.
Videos:
https://www.youtube.com/watch?v=IgQ7yTh5LJY
https://www.youtube.com/watch?v=J4clzago_IM
https://www.youtube.com/watch?v=O9tajXDd9IU
https://www.youtube.com/watch?v=pbtFL7T_HLw
https://www.youtube.com/watch?v=2eIr0U78_gA
https://www.youtube.com/watch?v=4jjXu8A6cuY
https://www.youtube.com/watch?v=HwxFhHsGneo
Lesson 3: Advanced Lambda and Stream Concepts
In lesson 3 you will learn advance stream concepts like reduction and collection. You will learn to:
Perform a reduction using streams.
Create and use finite and infinite streams in Java.
Avoid the use of forEach.
Save items from from a stream using the Collectors class and the collect method.
Use parallel stream and also learn when not to.
Use techniques for debugging and troublshooting streams.
Videos:
https://www.youtube.com/watch?v=tTiI_ibmpcM
https://www.youtube.com/watch?v=bt5MIkrYgzM
https://www.youtube.com/watch?v=WiDWt5TjY4E
https://www.youtube.com/watch?v=1xWUiMH_rh0
https://www.youtube.com/watch?v=lFNnpfMBiCE
https://www.youtube.com/watch?v=krLTMstEYOo
https://www.youtube.com/watch?v=QnNySqVZse0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment