Skip to content

thrako/java_advanced

Repository files navigation

Java Advanced lessons (theory and practice):

📁 Stacks and Queues

Algorithmic Complexity
Stack - last-in, first-out
Queue - first-in, first-out
Priority Queue

📁 Multidimensional Arrays

Declaring and Creating Multidimensional Arrays
Initializing Multidimensional Arrays
Accessing Elements
Reading a Matrix

📁 Sets and Maps

Sets
HashSet<E>
TreeSet<E>
LinkedHashSet<E>

Maps
HashMap<K, V>
TreeMap<K, V>
LinkedHashMap<K, V>

📁 Streams, Files and Directories

Streams Basics
Types of Streams - I/O
Buffered Streams
Files and Directories
Serialization

📁 Functional Programming

Lambda expressions
Function<T, R>
Consumer<T>
Supplier<T>
Predicate<T>
BiFunction<T, U, R>
See also: custom TriFunction<T1, T2, T3, R> defined and used here

📁 Defining Classes

Defining Simple Classes
Fields
Methods
Constructors, Keyword this
Static Members

📁 Workshop (Custom Data Structures)

Arraylist<T>
Stack<T>
Tuple<T1, T2> here
See also: 📁 Data Structures Fundamentals with Java

📁 Generics

Generics Syntax
Generic Classes and Interfaces
Generic Methods
Type Erasure
Type Parameter Bounds

📁 Iterators and Comparators

Varargs String... args
Iterable<T>
Iterator<T>
Comparable<T>
Comparator<T>

📁 Workshop (Basic Algorithms)

Recursion
Brute-Force Algorithms
Greedy Algorithms
Greedy Failure Cases
Simple Sorting Algorithms
Searching Algorithms
See also: Algorithms Fundamentals with Java

📁 Exam Preparation

Past Exam - 17 Dec 2019
Past Exam - 22 Feb 2020

📁 My Exam

Exam - 22 Oct 2022