Three core data structures
A 1D array has a fixed length set at creation and uses arr[i] indexing. An ArrayList is dynamically sized and uses methods like add(), remove(), get(), and set(). A 2D array is an array of arrays accessed with arr[row][col] and traversed with nested loops.
