Introduction to Collections, Generics & Reflection in Java (Udemy.com)
A Guide to Understand Generics, Collections Framework (Data Structures), Stream API and Reflection in Java!
Created by: Holczer Balazs
Last updated September 2026
Our take
Based on the ratings of 3,649 students, a sample of their written reviews and the syllabus, as the course stood in September 2026. No course pays to be reviewed.
This is a focused Java course, not a start-from-zero class. It spends its first few hours on generics: type parameters, bounded types, wildcards and type erasure. Then it moves to the collections framework (lists, stacks, queues, maps, sets, sorting), a long Stream API block of 21 lectures, and a short reflection section. The syllabus shows about 11 hours across 118 lectures, and it was last refreshed in September 2026. The requirements ask for basic Java, meaning loops and classes.
Reviewers like the teaching style. Holczer Balazs explains the theory first and then shows it in the IDE, and reviewers say that balance makes the concepts easier to follow. One said wildcards, which they used to find confusing, are explained well here. Another called reflection the part that surprised them most. The complaints are small and consistent. Two three-star reviewers wanted an assignment after each concept, and the syllabus backs that up: there are 13 coding exercises and 28 quizzes, but only two homework videos. One one-star review said some code did not work and got no explanation.
With 29,181 students and a 4.5 average from 3,649 reviews, it has a solid track record. Most reviews are short, so there is little detail on pace. It is a good pick if you want to understand why an ArrayList and a LinkedList behave differently, not just how to call them. Pair it with your own small projects or a practice site, since the drills are light. Anyone still learning basic syntax should start elsewhere first.
Pros
- Explains theory first, then shows it in the IDE, which reviewers find easy to follow
- Wildcards and type erasure get real time, and a reviewer says wildcards finally made sense
- Collections section covers how lists, maps and sets work internally, with running time comparisons
- Updated September 2026, with 28 quizzes and 13 coding exercises along the way
Cons
- Reviewers want practice after each concept, but there are only two homework exercises
- Reflection runs about 36 minutes, so it is a taste rather than full coverage
- One reviewer hit code that failed with no explanation of the cause
He provides very detailed explanations, which is helpful and makes it easier to understand the concepts on various complexity levels. Also, the balance between theory and coding examples is also great.
Suits Java beginners who already know loops and classes; total newcomers to programming will struggle.
What you will learn
- Understand the basics of generics
- Understand bounded type parameters
- Understand wildcards (unbounded, upper bounded and lower bounded wildcards)
- Understand type erasure and type inference
- Understand the basic data structures
- Understand hash maps and sets
- Understand lists (ArrayLists and LinkedLists)
- Understand stacks and queues
- Understand the Collection Framework
- Understand hashing and hash-functions
- Understand Stream API
Course content
21 sections · 118 lectures · 11 hours of video 28 quizzes, 13 coding exercises, 16 articles
- 1Introduction 2 free previews2 lectures · 7 min
- 2### GENERICS AND GENERIC PROGRAMMING ### 1 free preview1 lecture · 1 quiz · 7 min
- 3Basic Generics 1 free preview6 lectures · 2 quizzes · 29 min
- 4Bounded Type Parameters4 lectures · 3 quizzes · 16 min
- 5Type Inference4 lectures · 1 quiz · 16 min
- 6Wildcards9 lectures · 2 quizzes · 48 min
- 7Type Erasure5 lectures · 1 quiz · 20 min
- 8Homework Exercise I - Generics1 lecture · 1 quiz · 8 min
- 9### COLLECTIONS FRAMEWORK ###3 lectures · 1 quiz · 26 min
- 10Lists12 lectures · 3 quizzes · 1 hour
- 11Stacks4 lectures · 2 quizzes · 12 min
- 12Queues7 lectures · 2 quizzes · 45 min
- 13Maps12 lectures · 2 quizzes · 1.5 hours
- 14Sets5 lectures · 1 quiz · 30 min
- 15Sorting Collections5 lectures · 32 min
- 16Collections Class5 lectures · 1 quiz · 27 min
- 17Homework Exercise II - Collections1 lecture · 1 quiz · 12 min
- 18Algonique Skill Assessment Platform1 lecture
- 19### Stream API ###21 lectures · 3 quizzes · 2.3 hours
- 20### REFLECTION ###9 lectures · 1 quiz · 36 min
- 21Course Materials (DOWNLOADS)1 lecture
Who it is for
The instructor says it suits
- Beginner Java developers curious about generics, collections and reflection
What you need before you start
- Internet connection
- Basic Java (loops, classes etc.)
How it compares
Against the other 231 rated Udemy courses in Java on CourseDuck:
- Rating4.5 out of 5higher than 53% of them
- Reviews3,649#65 of 232 by number of reviews
- Length11 hourslonger than 57% of them
- Last updatedSeptember 2026more recently than 94% of them
Quality Score
Overall Score : 90 / 100
Course Description
Learn the basic concepts and functions that you will need to build fully functional programs with the popular programming language, Java.
This course is about generics in the main. You will lern the basics of generic types, generic methods, type parameters and the theoretical background concerning these topics. This is a fundamental part of Java so it is definitly worth learning.
Section 1 - Generic and Generic Programming
why to use generics and generic programming
Section 2 - Basic Generics
generic types
generic methods
fundamentals of generics and generic programming
Section 3 - Bounded Type Parameters
bounded type parameters
Section 4 - Type Inference
what is type inference
Section 5 - Wildcards
what are wildcards?
lower bounded wildcards
upper bounded wildcards
wildcards and bounded type parameters
Section 6 - Type Erasure
what is type erasure?
bridge methods and type erasure
Section 7 - Collections Framework
the collections framework
measuring the running time of algorithms
what are data structures?
Section 8 - Lists
ArrayList and LinkedList
performance comparison of LinkedLists and ArrayLists
Vectors
Stacks
Section 9 - Queues
what are queues?
PriorityQueues
ArrayDeques
Section 10 - Maps
hashing based data structures and hash-functions
HashMaps and LinkedHashMaps
balanced binary search trees and red-black trees
TreeMaps
Section 11 - Sets
what are sets?
HashSets, LinkedHashSets and TreeSets
Section 12 - Sorting Collections
sorting arrays and collections
Comparable and Comparator interfaces
sorting with lambda expressions
Section 13 - Stream API
streams
sequential streams and parallel streams
map() and flatMap()
reduce()
Section 13 - Reflection
what is reflection?
annotations and reflection
reflection and frameworks (such as Spring)
Learning the fundamentals of Java is a good choice and puts a powerful and tool at your fingertips. Java is easy to learn as well as it has excellent documentation, and is the base for all object-oriented programming languages.
Jobs in Java development are plentiful, and being able to learn Java will give you a strong background to pick up other object-oriented languages such as C++, or C# more easily.
Instructor Details
- 4.5 Rating
3,649 Reviews
Holczer Balazs
My name is Balazs Holczer. I am from Budapest, Hungary. I am qualified as a physicist. At the moment I am working as a simulation engineer at a multinational company. I have been interested in algorithms and data structures and its implementations especially in Java since university. Later on I got acquainted with machine learning techniques, artificial intelligence, numerical methods and recipes such as solving differential equations, linear algebra, interpolation and extrapolation. These things may prove to be very very important in several fields: software engineering, research and development or investment banking. I have a special addiction to quantitative models such as the Black-Scholes model, or the Merton-model.
Take a look at my website if you are interested in these topics!
More courses by Holczer Balazs
Python Data Structures And Algorithms: Practical Course (2026)
4.7 (4,432 Reviews)
Provider: Udemy
Time: 23.6h
$16.99
Concurrency, Multithreading and Parallel Computing in Java (2026)
4.5 (4,034 Reviews)
Provider: Udemy
Time: 14.4h
$10.99
Software Architectures (SOLID) & Design Patterns in Java (2026)
4.6 (3,772 Reviews)
Provider: Udemy
Time: 9.4h
$11.99
Algorithms Data Structures in Java #1 (+INTERVIEW QUESTIONS) (2026)
4.7 (3,235 Reviews)
Provider: Udemy
Time: 22.1h
$13.99
Quantitative Finance & Algorithmic Trading in Python (2026)
4.6 (2,714 Reviews)
Provider: Udemy
Time: 18.3h
$13.99
Java Programming: Step by Step from A to Z (2019)
4.5 (2,429 Reviews)
Provider: Udemy
Time: 8.9h
$84.99
Reviews
By Satya In on 2/20/2025
The course is great and it provides the In depth underatanding of all the topics. I am impressed how they explained generics in details , as I used to find wildcards in generics little confusing.
By Vishal Vernekar on 5/21/2024
Tells code does not work fine but does not give reason why. What is the issue.
By Anuj Sharma on 12/7/2023
He provides very detailed explanations, which is helpful and makes it easier to understand the concepts on various complexity levels. Also, the balance between theory and coding examples is also great. Highly recommended for beginners!
By Devanshu Kumar on 11/11/2023
The course was awesome for me. In my past, I did not dwell on Collection, Reflextion API so much. In this course, Holczer Balazs taught me crucial information about Collection, Stream API and Reflection. Initially, I was not informed about the magic of Reflection API. This course uncovered lots of the things of Reflection API. Although a deep understanding these topics is must for future growth, people can still get lots of knowledge from this course which could be essential for their projects as well as interviews.
By Anonymized User on 2/20/2023
I really enjoying this course, it gives better insight on collection and it’s internal working. This course was well constructed to understand. I recommended this to my friend.
By Sidnei Junior on 3/16/2022
Awesome course, it exceeded my expecations for sure! The course mix theorics and practices, where if you get a doubt during the theory explanation, in the practical session you will be fine.
By Luis Lugo on 5/18/2021
Sinceramente fue un curso excelente, siempre tenía dudas con el uso de datos genéricos, y gracias a este curso pude resolver esas dudas. Me atrevo a decir que este curso me ayudo mas que los cursos elementales de pluralsight.
By Weronika Sleboda on 1/20/2021
Wow, this is first time when I finished the course on udemy. The best instructor on udemy so far. After each lecture I actually felt that I learnt something. No wasting time, no talking irrelevant nonsense. Just straight to the point, good explanations, practical examples, great teaching skills, nice and clear accent. Thank you! I'm waiting for more java courses from this instructor (already bought plenty). I highly recommend for those who want to learn fast without wasting hours after hours on listening to empty talk.
By Pavel Marchev on 6/29/2016
This course has very well explained information! There could be more explanations and comparisons about the upper and lower -bounded parameters/types, as well as information about synchronization in Map implementations, since the course is about Java basics.
By Rahul Choudhary on 5/26/2016
he has missed lot of things, like detailed explanation on working of hash map, fail safe -- fail -fast iterator, how to make collection read only, and reason why we do that.
as the tutor said from the start the resolution is not great, i need to use some magnifier in windows to see the code.
besides that issue , every thing is great.
A good way to get started with programming.
The instructor has great clarity of a subject which resulted in better grasp.
Except for video quality below 1080p everything was good. Had a hard time watching them on iPad and mobile due to the video quality.









