It's been so long since I create a two-dimensional Java array in I almost couldn't remember how to do it. Fortunately I did, and I thought I'd include my sample code here in case it will help anyone else.
So, in this quick tutorial, I'll show you how to create a two-dimensional array (2D array) of Java String objects, and then I'll show you how to access each element in the array.
How to create a two-dimensional Java array
First, here's how I create the two-dimensional arrays of strings with this code:
String[][] data = {
{"debug/Authentication", "/root/opensso/opensso/debug/Authentication"},
{"debug/CoreSystem", "/root/opensso/opensso/debug/CoreSystem"},
{"debug/Policy", "/root/opensso/opensso/debug/Policy"},
{"debug/Session", "/root/opensso/opensso/debug/Session"},
{"log/amAuthentication.access", "/root/opensso/opensso/log/amAuthentication.access"},
{"log/amAuthentication.error", "/root/opensso/opensso/log/amAuthentication.error"},
{"log/amConsole.access", "/root/opensso/opensso/log/amConsole.access"},
{"log/amConsole.error", "/root/opensso/opensso/log/amConsole.error"},
{"log/amPolicy.access", "/root/opensso/opensso/log/amPolicy.access"},
{"log/amPolicy.error", "/root/opensso/opensso/log/amPolicy.error"},
{"log/amSSO.access", "/root/opensso/opensso/log/amSSO.access"},
};
As you can see, with a static array like this it's pretty straightforward, and similar to other languages.
How to access elements in the two-dimensional array
Next, here's how I use this 2D Java array, first getting the array length, then looping through each element in the 2D array:
int numRows = data.length;
for (int i=0; i< numRows; i++) {
logfile = new Logfile(data[i][0], server, 5556, data[i][1], command);
logfiles.add(logfile);
}
For the purposes of this tutorial it doesn't matter what a Logfile object is, just see how I'm accessing the 2D array named data in this line:
logfile = new Logfile(data[i][0], server, 5556, data[i][1], command);
In this loop, I first access array element, data[0][1], then data[1][1], then data[2][1], etc.
Some other situations may be more complex, and you may need to iterate through the array with two nested for loops, but for my purposes this worked just fine.

