created: 12/03/99; revised: 01/24/00, 07/20/02, 05/30/03, 02/03/06
Often data comes naturally in a two dimensional form. For example, maps are two dimensional (or more), the layout of a printed page is two dimensional, a computer-generated image (such as on your computer screen) is two dimensional, and so on.
For these situations you need a two-dimensional array. This is a collection of cells laid out in a 2D grid, like graph paper. Each cell can hold a value (as with a 1D array). However, now two indexes are needed to specify a cell.
If you have ever used a spreadsheet application then you already have used a 2D grid for holding and manipulating data.
(Thought question: ) Do you suspect that 2D arrays in Java are objects?