Coding with Java Streams

Lab Steps

lock
Connecting to the Java Web IDE
lock
Exercise 1 - Collecting
lock
Exercise 2 - Streams

The hands-on lab is part of this learning path

Ready for the real environment experience?

DifficultyIntermediate
Time Limit1h 30m
Students276
Ratings
4/5
starstarstarstarstar-border

Description

Lab Overview

Being able to code productively with Java Streams is an essential skill needed to create robust, bug-free, and performant applications.

This lab is designed to deepen your Java Streams knowledge. You will be required to complete the following Java coding exercise:

  • Exercise 1 - Collecting: Complete the Streaming code required to collect and aggregate Movie data stored on the filesystem, implementing methods such as:
    • getMovieCountByGenre
    • getPriceStatistics
    • getOnSaleMovieInfo
  • Exercise 2 - Streams: Complete the Streaming code required to filter and map over Movie data stored on the filesystem, implementing methods such as:
    • getMovieCount
    • getMoviesByStudio
    • getGenres
    • getMinimumPrice
    • findMovieByTitle

Note: Each exercise is supplied with a fully completed solution code for reference when required.

Lab Objectives

Upon completion of this lab, you will be able to:

  • Be able to work confidently with Java Streams
  • Implement custom grouping, filtering, and mapping solutions using Java Streams
  • Understand the benefits of working with Java Streams and associated Interfaces
  • Run and debug the Java code and examine the results that are printed to the console

You should:

  • Be comfortable with using a browser-based IDE

Lab Environment

This lab will start with the following AWS resources provisioned automatically for you:

  • A single EC2 instance, named ide.java.platform.instance, which will have a public IP address attached. This instance will host a web-based Java IDE (based on the Visual Code editor).

To achieve the lab end state, you will be walked through the process of:

  • Using your local browser, access the web-based Java IDE served from the ide.java.platform.instance
  • Completing the following lab exercises:
    • Exercise 1 - Collecting
    • Exercise 2 - Streams

Updates

March 31st, 2020 - Updated broken maven download link

June 16th, 2019 - Optimized creation of lab resources to reduce the time it takes to access the browser IDE by 60%.

About the Author
Students92252
Labs52
Courses110
Learning paths82

Jeremy is a Content Lead Architect and DevOps SME here at Cloud Academy where he specializes in developing DevOps technical training documentation.

He has a strong background in software engineering, and has been coding with various languages, frameworks, and systems for the past 25+ years. In recent times, Jeremy has been focused on DevOps, Cloud (AWS, GCP, Azure), Security, Kubernetes, and Machine Learning.

Jeremy holds professional certifications for AWS, GCP, and Kubernetes (CKA, CKAD, CKS).

Covered Topics