#Learning Java
Following the tutorial by John Purcell on Cave of Programming:
- A Hello World Program
- Using Variables
- Strings: Working With Text
- While Loops
- For Loops
- "If"
- Getting User Input
- Do ... While
- Switch
- Arrays
- Arrays of Strings
- Multi-Dimensional Arrays
- Classes and Objects
- Methods
- Getters and Return Values
- Method Parameters
- Setters and "this"
- Constructors
- Static (and Final)
- String Builder and String Formatting
- The toString() Method
- Inheritance
- Packages
- Interfaces
- Public, Private, Protected
- Polymorphism
- Encapsulation and the API Docs
- Casting Numerical Values
- Upcasting and Downcasting
- Using Generics
- Generics and Wildcards
- Anonymous Classes
- Reading Files Using Scanner
- Handling Exeptions
- Multiple Exceptions
- Runtime vs. Checked Exceptions
- Abstract Classes
- Reading Files With File Reader
- Try-With-Resources
- Creating and Writing Text Files
- The equals() Method
- Inner Classes
- Enum Types: Basic and Advanced Usage
- Recursion: A Useful Trick Up Your Sleeve
- Serialization: Saving Objects to Files
- Serializing Arrays
- The Transient Keyword and More Serialization
- ArrayList: Arrays the Easy Way
- Linked Lists
- HashMap: Retrieving Objects via a Key
- Sorted Maps
- Sets
- Using Custom Objects in Sets and as Keys in Maps
- Sorting Lists
- Natural Ordering
- Queues
- Using Iterators
- Implementing Iterable
- Deciding Which Collection to Use
- Complex Data Structures