On the other hand, 2D-arrays are not too hard to handle.
Here is an example.
int[][] grid = new int [6][12];
size(700, 700);
background(0);
// ----------------------------------------------------------------
// make grid
for (int x = 0; x < 6; x++) {
for (int y = 0; y < 6; y++) {
grid[x][y] = int(random (99));
}
}
// ----------------------------------------------------------------
// display grid
// step 1: upper und left numbers
for (int x = 0; x < 6; x++)
text (x, x * 22 +33, 14);
for (int y = 0; y < 6; y++)
text (y, 13, y * 22 +40);
// step 2: line --->
{
int y=0;
stroke(255);
line (
13, y * 22 +20,
13+140, y * 22 +20);
}
// step 3: line | downwards
{
int x=0;
stroke(255);
line (
x * 22 +23, 14,
x * 22 +23, 154);
}
// step 4: grid (main part)
for (int x = 0; x < 6; x++) {
for (int y = 0; y < 6; y++) {
text (grid[x][y], x * 22 +33, y * 22 +40);
}
}
// ----------------------------------------------------------------
// show one position
int x = 4;
int y = 5;
int oneValue = grid[x][y];
//
text ("Position "
+ x
+ ", "
+ y
+ " :\n"
+ oneValue,
x * 22 +310, y * 22 +330);
//
// ----------------------------------------------------------------
//
Even when you had a proper class encapsulating the 2D-Array you would still have commands like
gridTools.make(17,24);
gridTools.get(4,5);
gridTools.set(4,5);
gridTools.display(110,200);
gridTools.save("grid1.csv");