Disclosure: when you buy through links on our site, we may earn an affiliate commission.

Introduction to Collections, Generics & Reflection in Java

A Guide to Understand Generics, Collections Framework (Data Structures) and Reflection in Java!
(2,507 reviews)
19,842 students
Created by


CourseMarks Score®







Platform: Udemy
Video: 7h 45m
Language: English
Next start: On Demand

Table of contents


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
Section 9 – Queues
•what are queues?
Section 10 – Maps
•hashing based data structures and hash-functions
•HashMaps and LinkedHashMaps
•balanced binary search trees and red-black trees
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 – 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.

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 balanced binary search trees and red-black trees


• Internet connection
• Basic Java (loops, classes etc.)

This course is for

• Beginner Java developers curious about generics, collections and reflection
Software Engineer
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!
Browse all courses by on Coursemarks.
Platform: Udemy
Video: 7h 45m
Language: English
Next start: On Demand

Students are also interested in