4.4 out of 5
655 reviews on Udemy

Java Collections Framework + Generics, Lambdas & Stream API

Learn Java Collections Framework from scratch to PRO level with practical exercises
Andrii Piatakha
143,951 students enrolled
English [Auto]
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

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! 🙂


Communication plan

From this lecture you will learn:

• How to communicate during this course

• Where to ask questions

• How to ask questions

• Communication channels

Unlimited access to Learn-IT application for students

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

Java Collections Framework - Overview

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

Collection Interface

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

• UML: Class diagram

• Collection: abstract methods

• Collection: default methods

• Collection: source code

Collections Hierarchy

Interfaces List, Set and Queue: Overview

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

List Implementations

List implementations - ArrayList, Vector, CopyOnWriteArrayList & Stack

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

LinkedList VS ArrayList, Big O Notation & Homework

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

Comparator and Comparable

Comparator and Comparable

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

Iterable, Iterator & ListIterator

Iterable, Iterator & ListIterator

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

Queue and Deque

Queue and Deque

From this lecture you will learn:
• Queue interface

• Dequeue Interface



• 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

Map Hierarchy

Map Hierarchy

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

Hash Tables & HashMap

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
SortedMap, NavigableMap & TreeMap

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

Set Implementations (HashSet practice) & java.util.Colelctions class

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


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

===== 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

Functional Programming in Java

Functional Programming in Java: Overview

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

Functional Interface, Lambda Functions & Method References

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

• How to create custom functional interface

• Lambda function

• Method reference

• Practice

Function & BiFunction: Theory & 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

Consumer, BiConsumer, Predicate & BiPredicate

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

Stream API

Stream API with Practical Exercises

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

===== Functional Programming in Java: Interview Preparation =====

How to be prepared for the interview?
Part 1: Java Functional Programming Interview - Questions and Answers
Part 2: Java Functional Programming Interview - Questions and Answers

Bonus section

Bonus lesson
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.4 out of 5
655 Ratings

Detailed Rating

Stars 5
Stars 4
Stars 3
Stars 2
Stars 1
FREE For First 1000 Enrolls


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

External Links May Contain Affiliate Links read more

Join our Telegram Channel To Get Latest Notification & Course Updates!
Join Our Telegram For FREE Courses & Canva PremiumJOIN NOW