Part I · Foundations, Programming and Algorithmic Thinking
2. Java Prerequisites for DSA
9 lessons•84 topics•Beginner
9 of 9 lessons published
2.01Lesson
Java language essentials
- Primitive types
- Variables
- Operators
- Precedence
- Conditions
- Loops
- Methods
- Scope
- Overloading
- Static members
- Access modifiers
2.022 animated
Arrays and types
- int[] and long[]
- char[]
- Multidimensional arrays
- jagged arrays
- Default values
- Reference semantics
- Array copying
- Arrays utility class
2.03Lesson
Objects and collections
- Classes
- Constructors
- Generics
- Interfaces
- Comparable
- Comparator
- Iterator
- Iterable
- Autoboxing and unboxing
- Null handling
2.045 animated
Java Collections Framework
- List
- Set
- Map
- Queue
- Deque
- Collection
- Collections
- ArrayList
- LinkedList
- HashMap
- HashSet
- TreeMap
- TreeSet
- PriorityQueue
- ArrayDeque
2.05Lesson
Core library utilities
- Math
- Arrays.sort
- Arrays.binarySearch
- Collections.sort
- StringBuilder
- StringJoiner
- Character
- BigInteger
- BitSet
- Random
2.06Lesson
Input-output for algorithms
- Scanner vs BufferedReader
- StringTokenizer
- Fast input parser
- PrintWriter
- BufferedWriter
- Standard input and output
- EOF
- Multiple test cases
2.076 animated
Numeric correctness in Java
- int vs long
- Integer overflow
- Safe midpoint
- long multiplication
- Math.abs corner case
- Signed shifts
- Modulo sign
- Floating-point comparisons
2.08Lesson
Java implementation patterns
- Static helper methods
- Generic utility class
- Custom pair/record
- Custom comparator
- Immutable key
- Adjacency list with List<List<Integer>>
2.09Lesson
Debugging and tools
- Assertions
- Logging vs printing
- IDE debugger
- Breakpoints
- Stack traces
- Unit tests
- Build and run
- Java version compatibility