Repo: https://github.com/z1n0v1/M02-Java-Advanced

Here you can find my solutions for SoftUni’s Java Advanced course.

Java Advanced is a 5 week fast paced course part of the second module of SoftUni’s Software Engineering program. As part of it, you get 12 hours of video material per week, plus a lot of problem solving labs and exercises. It is a natural continuation of Java Fundamentals course and lays the groundwork needed for the next course part of the module - Java Object Oriented programming.

In this course you’ll learn about:

  • Stacks and Queues - (Lab) - (Exercise)
    • Algorithmic Complexity
    • Stack - last-in, last-out
    • Queue - first-in, first-out
    • Priority Queue
  • Multidimensional Arrays - (Lab) - (Exercise)
    • What is Multidimensional Array?
    • Declaring and Creating Multidimensional Arrays
    • Initializing Multidimensional Arrays
    • Accessing Elements
    • Reading a Matrix
  • Sets and Maps Advanced - (Lab) - (Exercise)
    • Sets (HashSet, TreeSet, LinkedHashSet)
    • Maps (Hashmap, TreeMap, LinkedHashMap)
  • Streams, Files and Directories - (Lab) - (Exercise)
    • Streams Basics
    • Types of Streams
    • Files and Directories
    • Serialization
  • Functional Programming - (Lab) - (Exercise)
    • Lambda Expressions
    • What Is a Function?
    • Other Function Types
    • BiFunction
  • Defining classes - (Lab) - (Exercise)
    • Defining Simple Classes
    • Fields
    • Methods
    • Constructors, Keyword this
    • Static Members
  • Generics - (Lab) - (Exercise)
    • Generics Syntax
    • Generic Classes and Interfaces
    • Generic Methods
    • Type Erasure, Type Parameter Bounds
  • Iterators and Comparators - (Lab) - (Exercise)
    • Variable Arguments
    • Iterators (Iterator, ListIterator)
    • Comparators (Comparable)

The next course part of the Software Engineering track is Java OOP.