Coding with Generics and Lambdas

The hands-on lab is part of this learning path

Advanced Java Programming
course-steps 8 certification 1 lab-steps 6

Lab Steps

keyboard_tab
lock
Logging in to the Amazon Web Services Console
lock
Connecting to the Java Web IDE
lock
Exercise 1 - Dynamic Array
lock
Exercise 2 - Generic Dynamic Array
lock
Exercise 3 - Lambdas

Ready for the real environment experience?

DifficultyIntermediate
Max Duration2h
Students4

Description

Lab Overview

Being able to code using Java Generics and Lambdas provides you with the ability to create reusable, expressive, and concise Java code.

This Lab is designed to deepen your Java Generics and Lambdas knowledge. You will be required to complete the following Java coding exercise:

  • Exercise 1 - DynamicArray: Complete the code required to create a dynamically expanding custom StringArray class. This exercise will leverage unit testing through the use of JUnit to confirm the desired behaviour of the custom StringArray class.
  • Exercise 2 - GenericDynamicArray: Complete the code required to generalize the previous exercise, by converting the StringArray class into a generic ObjectArray<T> class. This exercise will leverage unit testing through the use of JUnit to confirm the desired behaviour of the custom ObjectArray<T> class.
  • Exercise 3 - Lambda: Complete the code required to use Lambdas in different programming contexts:
    • Sorting using a Comparator
    • Configuring an addActionListener method on a Swing JButton
    • Spawning new threads using the java.lang.Runnable functional interface

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:

  • Write reusable Java code through the use of Generics
  • Write Java code that is concise and expressive through the use of Lambdas
  • Understand the benefits of working with Lambdas and Functional 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 you local browser, access the web based Java IDE served from the ide.java.platform.instance
  • Completing the following lab exercises:
    • Exercise 1 -DynamicArray
    • Exercise 2 -GenericDynamicArray
    • Exercise 3 -Lambda

Updates

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

About the Author

Students11075
Labs28
Courses65
Learning paths15

Jeremy is the DevOps Content Lead at Cloud Academy where he specializes in developing technical training documentation for DevOps.

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

Jeremy holds professional certifications for both the AWS and GCP cloud platforms.
 

Covered Topics