Introduction
Learn advanced Java programming
()
What you should know
()
Using the exercise files
()
1. Getting Started
Which version of Java to use?
()
2. Generics in Java
Introduction to generics in Java
()
Generic methods in Java
()
Bounded generics in Java
()
The Liskov substitution principle in Java
()
Using wildcards in generic programming
()
Challenge: Using generics
()
Solution: Using generics
()
3. Advanced Data Structures
Collections in Java
()
Using LinkedLists to structure data
()
Storing pairs with HashMaps
()
Using LinkedHashMaps
()
Challenge: Data structures
()
Solution: Data structures
()
4. Functional Programming in Java
Functional Interfaces in Java
()
Implementing lambdas in Java
()
Using method references in Java
()
Understanding streams in Java
()
Using streams in Java
()
Challenge: Functional programming
()
Solution: Functional programming
()
5. Concurrency in Java
Introduction to concurrency in Java
()
The Thread class in Java
()
The Runnable interface in Java
()
Using the ExecutorService in Java
()
Synchronized methods in Java
()
Challenge: Name
()
Solution: Name
()
6. Input and Output
Understanding I/O in Java
()
Reading from System.in with a Scanner
()
Reading files with BufferedReader
()
Using try-with-resources with I/O
()
Challenge: Input and output
()
Solution: Input and output
()
7. Working with Files and Directories
Working with files in Java
()
Creating a new file
()
Working with directories in Java
()
Copying files in Java
()
Challenge: Files and directories
()
Solution: Files and directories
()