This week's book giveaway is in the Cloud/Virtualization forum.
We're giving away four copies of Learning OpenStack Networking: Build a solid foundation in virtual networking technologies for OpenStack-based clouds and have James Denton on-line!
See this thread for details.
Win a copy of Learning OpenStack Networking: Build a solid foundation in virtual networking technologies for OpenStack-based clouds this week in the Cloud/Virtualization forum!
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Liutauras Vilda
  • Campbell Ritchie
  • Tim Cooke
  • Bear Bibeault
  • Devaka Cooray
Sheriffs:
  • Jeanne Boyarsky
  • Knute Snortum
  • Junilu Lacar
Saloon Keepers:
  • Tim Moores
  • Ganesh Patekar
  • Stephan van Hulst
  • Pete Letkeman
  • Carey Brown
Bartenders:
  • Tim Holloway
  • Ron McLeod
  • Vijitha Kumara

Arrays doubt  RSS feed

 
Ranch Hand
Posts: 652
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi All,
Can anybody explain me 2,3,4 dimensional arrays with a example i am really confused?



Thanks all
 
Ranch Hand
Posts: 178
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
See if this helps.

View a multi-dimensional array as an array of arrays.

//1-d array , basically list of elements. view this as a single row with multiple columns.

String[] a = {"col1","col2"};



//2-d (array of arrays)-
String[][] i = new String[3][2]; //this will be 3 rows of 2 columns each (matrix)
//valid subscripts --> (0,0),(0,1),(1,0),(1,1),(2,0),(2,1)

i = new String[][]{a,a,a}; //I'm assigning 1-d array for each of the elements.


//3-d array of 2-D array
String[][][] j = new String[4][3][2];//4 arrays, each with 3 rows and 2 columns
j = new String[][][]{i,i,i,i};//assigning 2-d arrays for each of the elements


//4-d Array of 3-D array
String[][][][] k = new String[5][4][3][2];//is an array of 5 arrays each with 4 arrays, where each of those 4 arrays in turn have 3 arrays of 2 elements each.

k = new String[][][][]{ j,j,j,j,j};//assigning 3-d arrays for each elements

accessing an element:
k[2][0][0][0][0] --> "col1"
k[2][0][0][0][1] --> "col2"

and so on....
[ May 03, 2007: Message edited by: M Krishnan ]
 
Sheriff
Posts: 11343
Java Mac Safari
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
In Java, a multi-dimensional array is really just an array of arrays.

For example, start with a simple one-dimensional array...

int[] myArray = new int[3];

Here, myArray references an array with a length of 3. And each of the 3 elements are ints (initialized to zero). In particular...

myArray[0] is 0.
myArray[1] is 0.
myArray[2] is 0.

Now let's change it a little...

int[][] myArray = new int[3][4];

As before, myArray still references an array with a length of 3. But instead of having ints as elements, it now has arrays as elements.

myArray[0] is an array with length 4.
myArray[1] is an array with length 4.
myArray[2] is an array with length 4.

And each of these arrays contain ints (initialized to zero).

myArray[0] is an array with length 4, where...
myArray[0][0] is 0.
myArray[0][1] is 0.
myArray[0][2] is 0.
myArray[0][3] is 0.

myArray[1] is an array with length 4, where...
myArray[1][0] is 0.
myArray[1][1] is 0.
myArray[1][2] is 0.
myArray[1][3] is 0.

myArray[2] is an array with length 4, where...
myArray[2][0] is 0.
myArray[2][1] is 0.
myArray[2][2] is 0.
myArray[2][3] is 0.
 
Nik Arora
Ranch Hand
Posts: 652
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi Marc,
Can you explain me with a example for 3 and 4 dimensional arrays?
 
Ranch Hand
Posts: 1710
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Marc and Krishnan explain the multi dimension arrays in nice way.

Where exactly do you face difficulty?


Thanks,
 
Nik Arora
Ranch Hand
Posts: 652
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi Krishnan,

Can you explain me the below statements in detail. I didnt get.


//3-d array of 2-D array
String[][][] j = new String[4][3][2];//4 arrays, each with 3 rows and 2 columns
j = new String[][][]{i,i,i,i};//assigning 2-d arrays for each of the elements


//4-d Array of 3-D array
String[][][][] k = new String[5][4][3][2];//is an array of 5 arrays each with 4 arrays, where each of those 4 arrays in turn have 3 arrays of 2 elements each.

k = new String[][][][]{ j,j,j,j,j};//assigning 3-d arrays for each elements
 
marc weber
Sheriff
Posts: 11343
Java Mac Safari
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
String[][][] j = new String[4][3][2];

j references a 3-dimensional array, with dimensions [4][3][2].
j[x] references a 2-dimensional array, with dimensions [3][2].
j[x][y] references a 1-dimensional array, with length 2.
j[x][y][z] references a String.
 
Nik Arora
Ranch Hand
Posts: 652
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
THANKS MARC AND KRISHNAN
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!