Java (Micro)

Master the small Java code shapes that combine into full algorithms and data-structure solutions.

Values & Types

Program shape, a variable shelf, primitives, references, wrappers, and conversions.

Arrays & Lists

Fixed arrays, dynamic lists, grids, indexed mutation, copying, and prefixes.

Maps & Sets

Lookup, defaults, counting, grouping, membership, and nested collections.

Control Flow

Branches, switch expressions, loop forms, two pointers, and sliding windows.

Methods & Recursion

Signatures, arrays and lists at boundaries, lambdas, base cases, and memoization.

Classes & References

Object identity, bare trees, linked lists, tries, interfaces, and comparators.

Stacks & Queues

ArrayDeque as a stack, conditional BFS queues, both deque ends, and monotonic queues.

Sorting & Searching

Array and collection sorting, safe comparators, and binary-search bounds.

Heaps & Union-Find

Separate min/max priority queues and disjoint sets with path compression.

Graphs & Traversal

Adjacency lists, BFS families, grid flood fill, DFS, and topological order.

DP & Backtracking

Rolling states, memoized grids, snapshots, pruning, and undo steps.

Bits, Math & Strings

Bit operations, wide arithmetic, Unicode-aware text, parsing, I/O, and exceptions.

Course checkpoint

Verify the compact Java syntax used by algorithm and data-structure solutions.