We build up to understanding ArrayLists by thinking about what an Array does and does not give us -- from ArrayWrapper (just an array) to FixedSizeList (with a fill pointer) to ArrayList which also has an exponential growth strategy.
What's an ArrayWrapper? (2:45)
slideToTheLeft Code Discussion (3:03)
ArrayWrapper to FixedSizeList to ArrayList/GrowableList (1:56)
FixedSizeList Class Tour (1:47)
FixedSizeList Visual/Mental Model (2:19)
FixedSizeList removeIndex(2) Visual Example (1:33)