We may earn an affiliate commission when you visit our partners.
Andrii Piatakha and Learn IT University

From this course, you can learn Java Collections Framework, together with Generics, Lambda Functions, Method References, and Stream API.

There are a lot of other courses on this topic. So, why would you choose exactly this course?  Here are just a few reasons:- Coding examples

To learn to program is not enough just watching videos and reading books. You also need to have a lot of practice. In this training course, you will review multiple practical tasks and coding examples which will help you learn and understand Java better.

- Open source code

Read more

From this course, you can learn Java Collections Framework, together with Generics, Lambda Functions, Method References, and Stream API.

There are a lot of other courses on this topic. So, why would you choose exactly this course?  Here are just a few reasons:- Coding examples

To learn to program is not enough just watching videos and reading books. You also need to have a lot of practice. In this training course, you will review multiple practical tasks and coding examples which will help you learn and understand Java better.

- Open source code

We hide nothing from our students.  Including the source code for the home task solutions and source code of examples that were shared during the lesson. Having the source code you can just copy and paste it to run it on your local computer to understand how things work better.

You are allowed to use all source code examples for learning purposes. This helps significantly to configure the environment and make tests work, especially in case students didn't work with any testing framework in the past.

- Q&A support 

The significant difference between the online and offline learning process is the instructor's availability. If you are in one room with a tutor he always can help you to get understand the specific concept or to help fix your code on your computer. In this course, we are supporting students with answers to any questions flagged in the Q&A section. In case there will be recurring questions - separate video lessons will be created to show how to address the issue.

So with this course you are not just getting video materials, code exercises, source code, access to the free mobile application without limits (which is still pretty cool, huh? :) ), but you also get tutor support and answers to your questions along with this course. - Relevant knowledge

After our team investigated other Java courses on Udemy we realized that most of them have nothing in common with real life. The information which is shared there is very old and significantly out of date. For example, the instructor teaches a framework which is not been used already for 15 years. Or instructors do stress on the programming design which is not used anymore at all.

The instructor of this course is a consultant in a top-rated IT outsourcing company and helps to bring cutting-edge solutions in IT for all his clients. Feel free to check the LinkedIn page of the instructor and check skills endorsement. More than 19 thousand people across all over the world (BTW most of them are from the top 100 companies of the world) evaluated the skills of Andrii Piatakha.

With this course, you can be sure that you will spend your time learning the right things from one of the best IT consultants in the world.

- Free mobile App without limits for our students

Knowing Java is one skill. Be able to pass interviews in the company - that is another skill :) Nowadays a lot of companies use tests to select candidates on the first level of interview. We developed applications to practice skills specifically for such purposes.

In this course, we will provide you link to download our FREE mobile app for android. (soon it will be also available for iOS platforms)

The instructor of this course comes up with hundreds of tests that are used to test the knowledge of candidates. With this application, you will be well-prepared for the interview.

Also, only for our students - there is no limit on attempts to pass certification. In the course, we will tell you how to set up a special bonus code that will remove restrictions for our students inside the app.

- High concentration of useful material in each lesson

Sometimes you can notice that watching 5 minutes of our lesson is equivalent to watching another 30 minutes lesson.

This is because time spent for preparation for the lesson (script for the lesson, lesson structure) and video editing (to cut boring pieces of the lesson or time when the program loads) sometimes 10 times as much (sometimes even 20) as the final lesson duration after video editing.

Also, each topic is separated from another. In case some concept will be explained in the next lesson and you don't need to worry about understanding this in the scope of this lesson - the instructor will make an announcement when a specific topic will be covered.

Go and try it yourself.  We will appreciate your feedback.

So don't wait. Take a look at the lessons' preview if you still have doubts.

Buy this course today, and you will get all updates for FREE.

For those who successfully passed this training course, or for students who were recognized for asking amazing questions, there is a special offer from the IT-Bulls company. The creator of this course is IT-Bulls company CEO and Founder. We are always in search of talents to run our amazing startups together with you. Probably you always dreamed about running your startup? In this course, you will be able to find the team who will teach you how to do that and (in particular cases) will be glad to help with implementation.

Hope you enjoy this course. And remember, we appreciate all your feedback. Your feedback will help us to become even better.  Your feedback will help us to create to best Java course ever.

See you at the lessons.  :)

Enroll now

What's inside

Learning objectives

  • Java collections framework
  • Different colelctions from collection hierarchy
  • Different containers from map hierarchy
  • Real-life examples of using collections
  • Iterable & iterator
  • Hash tables
  • Binary tree based collections
  • Functional programming
  • Functional programming with collections
  • Generics in java
  • Stream api
  • How to write clear and concise code in java with the help of lambdas and stream api while working with collections
  • Show more
  • Show less

Syllabus

Introduction

From this lecture you will learn:

• How to communicate during this course

• Where to ask questions

• How to ask questions

• Communication channels

Read more

From this lecture you will learn:

• Where to find good tests to verify your knowledge

• How to get unlimited access to Learn IT application (only for my students from Udemy)

Tips to Improve Your Course Taking Experience
Additional Free Learning Materials to Use During the Course
Java Collections Framework - Overview

From this lecture you will learn:
• What does JCF consist of

• Collections VS arrays

• Advantages of collections over arrays

• Collection VS Map

From this lecture you will learn:
• Collection interface: Overview

• UML: Class diagram

• Collection: abstract methods

• Collection: default methods

• Collection: source code

From this section you will learn collection hierarchy including interfaces and different implementations

From this lecture you will learn:
• Main descendants of Collection interface

• Class diagram of Collection hierarchy

• List Interface: Overview

• Set Interface: Overview

• Queue Interface: Overview

• FIFO Principle

From this section you will learn how to use list implementations and what are the difference between them

From this lecture you will learn:
• Eclipse – Investigate Hierarchy

• ArrayList

• Vector

• CopyOnWriteArrayList

• Stack

• Marker interface: Random Access

• Real examples of using list implementations

• Comparison of List implementations

From this lecture you will learn:
• How LinkedList works

• Source code review of the LinkedList class

• How to use generics

• Diamond operator

• Big O Notation

• LinkedList VS ArrayList

• When to use specific List implementation

• Homework

LinkedList VS ArrayList - Performance Comparison
Backend for online store
MyList implementation
From this section you will learn how to use comparator and comparable interfaces

From this lecture you will learn:
• What is Comparator

• How to sort elements in List

• What is Comparable

• Difference between compare & compareTo methods

• Where to use Comparable and Comparator

• Quick Sort Algorithm

Write your Custom Product Comparator
From this section you will learn what Iterable, Iterator and ListIterator is.

From this lecture you will learn:
• Iterable

• Iterator

• Exceptions thrown by iterator

• Three types of iterator

• Fail-fast iterator

• Fail-safe iterator

• Weakly consistent iterator

• Practice with iterator

• List iterator

• Homework

Implement custom Iterator
From this section you will learn how to use implementations of Queue and Deque interfaces

From this lecture you will learn:
• Queue interface

• Dequeue Interface

• FIFO

• LIFO

• Source code overview

• Practical tips of using queues

• The most popular implementations of Queue and Deque interface

• PriorityQueue

Implement back-end system of Help Desk for online store
From this section you will learn Map hierarchy and Map implementations

From this lecture you will learn:

• Map Hierarhcy

• Overview of Map implementations

• SortedMap Interface

• NavigableMap Interface

• Dictionary

• Hashtable class vs HashMap class

• Methods of Map interface

• Entry type

From this lecture you will learn:
• What is hash table

• How does hash table work

• equals() and hashCode()

• HashMap

• Initial capacity and load factor

• Practice with HashMap

• Immutable keys and how to lost value in map

• Sort Map by keys

• Sort Map by values

From this lecture you will learn:
• LinkedHashMap

• access-order vs insertion-order in LinkedHashMap

• What is a cache

• How to limit number of elements in LinkedHashMap

• Homework - LRU Cache

LRU Cache

From this lecture you will learn:
• SortedMap Interface

• NavigableMap interface

• TreeMap practice

• Binary tree

• Red-Black binary tree

• Big O notation of operations in TreeMap

From this lecture you will learn:

• Set hierarchy

• Overview of Set Implementations

• HashSet

• LinkedHashSet

• TreeSet

• Thread safe implementations of Set

• EnumSet

• Practice with HashSet

• java.util.Collections

• Unmodifiable and Synchronized wrappers

From this section you will learn how to use generics in Java

From this lecture you will learn:
• Why do we need generics

• Generics in Java

• Diamond Operator

• How generics work

• Generic method

• Generic class

• Bounded generics

• Multiple bounds

• Wildcards

• Upper Bounded Wildcard

• Lower Bounded Wildcards

• Raw types

• Type erasure

Parameterized custom List & iterators

The Quiz covers content from the following lessons:

  • Java Collections Framework: Overview

  • Collection Interface

  • List, Set, Queue - High Level overview

  • List implementations: ArrayList, LinkedList, Vector, Stack, CopyOnWriteArrayList

  • LinkedList, ArrayList VS LinkedList, Big O Notation, Homework

  • Comparator and Comparable

  • Iterable, Iterator & ListIterator

  • Queue & Deque

  • Map Hierarchy

  • Hash tables and hash map

  • LinkedHashMap

  • SortedMap, NavigableMap & TreeMap

  • Set Implementations

  • Generics in Java

===== Java Collections Framework: Interview Preparation =====
How to be prepared for the interview?
Part 1: Java Collections Framework Interview - Questions and Answers
Part 2: Java Collections Framework Interview - Questions and Answers
Part 3: Java Collections Framework Interview - Questions and Answers
Part 4: Java Collections Framework Interview - Questions and Answers
Part 5: Java Collections Framework Interview - Questions and Answers
From this section you will learn what functional programming is and how it is implemented in Java

From this lecture you will learn:
• What is functional programming

• Main concepts of functional programming

• Advantages and disadvantages of functional programming

• Imperative VS Declarative programming

• Function vs Method

• Functional Programming in Java

• java.util.function package

From this lecture you will learn:
• What is ‘Functional Interface’

• How to create custom functional interface

• Lambda function

• Method reference

• Practice

From this lecture you will learn:
• Function interface

• BiFunction interface

• Lambda function and method reference to implement Function

• andThen() method

• compose() method

• identity() method

• Comparator.comparing()

• Practice with Map implementations, Function and BiFunction

From this lecture you will learn:
• Consumer Interface

• BiConsumer interface

• Iterator.forEachRemaining()

• Map.foreach()

• Collection.removeIf()

• Predicate Interface

• Predicate.and()

• Predicate.or()

• Predicate.negate()

• Predicate.isEqual()

• Predicate.not()

• BiPredicate Interface

Sort words in array with anonymous function
From this section you will learn what Stream API is and how to use it in Java

From this lecture you will learn:
• What Stream API is

• java.util.stream package

• When to use Stream API

• Conveyor belt

• Terminal operations

• Non-terminal operations

• How to create stream from array

• How to convert list to map

• parallelStream()

• Examples

The Quiz covers content from the following lessons:

  • Functional Programming in Java - Overview

  • Functional Interface, Lambda Functions & Method References

  • Function & BiFunction: Theory & Practice

  • Consumer, BiConsumer, Predicate & BiPredicate

  • Stream API

===== Functional Programming in Java: Interview Preparation =====
Part 1: Java Functional Programming Interview - Questions and Answers
Part 2: Java Functional Programming Interview - Questions and Answers
Bonus section
Bonus lesson

Save this course

Save Java Collections Framework + Generics, Lambdas & Stream API to your list so you can find it easily later:
Save

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Java Collections Framework + Generics, Lambdas & Stream API with these activities:
Review Core Java Concepts
Strengthen your understanding of fundamental Java concepts like object-oriented programming, data types, and control flow to better grasp the Collections Framework.
Show steps
  • Review Java tutorials and documentation.
  • Practice coding basic Java programs.
  • Complete online Java quizzes.
Review 'Effective Java' by Joshua Bloch
Deepen your understanding of Java best practices and design patterns, especially as they relate to collections and generics.
Show steps
  • Read selected chapters focusing on collections and generics.
  • Implement examples from the book.
  • Reflect on how the principles apply to your own code.
Review 'Java 8 in Action' by Raoul-Gabriel Urma, Mario Fusco, and Alan Mycroft
Gain a deeper understanding of lambdas and the Stream API, and how they can be used to work with collections more efficiently.
View Alter Ego on Amazon
Show steps
  • Read selected chapters focusing on lambdas and the Stream API.
  • Experiment with the examples in the book.
  • Apply the concepts to your own code.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Blog Post: Choosing the Right Collection
Solidify your understanding of the different collection types by explaining their characteristics and use cases in a blog post.
Show steps
  • Research the different collection types in Java.
  • Write a blog post explaining the characteristics of each type.
  • Provide examples of when to use each type.
  • Publish the blog post online.
Implement Custom Data Structures
Reinforce your understanding of the underlying principles of data structures by implementing your own versions of common collections.
Show steps
  • Implement a custom linked list.
  • Implement a custom hash map.
  • Implement a custom binary tree.
  • Write unit tests to verify correctness.
LeetCode Collection Problems
Sharpen your problem-solving skills by tackling LeetCode problems that involve the use of Java collections.
Show steps
  • Solve 5-10 LeetCode problems per week related to collections.
  • Analyze the time and space complexity of your solutions.
  • Compare your solutions with those of other users.
Build a Library Management System
Apply your knowledge of the Collections Framework to a real-world problem by building a system to manage books, authors, and patrons.
Show steps
  • Design the data model for books, authors, and patrons.
  • Choose appropriate collection types to store the data.
  • Implement methods to add, remove, and search for books.
  • Implement features for borrowing and returning books.

Career center

Learners who complete Java Collections Framework + Generics, Lambdas & Stream API will develop knowledge and skills that may be useful to these careers:

Reading list

We've selected two books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Java Collections Framework + Generics, Lambdas & Stream API.
Must-read for any Java developer, covering a wide range of best practices and design patterns. It provides invaluable insights into writing robust and maintainable Java code, directly applicable to the concepts covered in the course, such as collections, generics, and functional programming. It serves as an excellent guide for understanding the nuances of the Java language and improving coding skills.
Provides a comprehensive guide to Java 8 features, including lambdas and the Stream API. It is particularly useful for understanding how to use these features effectively with collections. The book includes numerous examples and exercises to help you master the concepts. It is valuable as additional reading to the course.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser