The Essence of OOP using Java, Array Objects, Part 2, Page 8
Complete Program Listing
/*File Array07.java
Copyright 2002, R.G.Baldwin
This program illustrates three
different ways to emulate a traditional
rectangular array in Java. Two of
those ways are essentially ragged
arrays with equal-length sub arrays.
The program also illustrates two ways
to create ragged arrays in Java.
Tested using JDK 1.3 under Win 2000.
**************************************/
public class Array07{
public static void main(
String[] args){
//Create an array structure that
// emulates a traditional
// rectangular array with two rows
// and three columns. This
// approach requires all rows to
// be the same length.
Object[][] v1 = new Object[2][3];
//Populate the array elements with
// references to objects of type
// Integer.
for(int i=0;i<v1.length;i++){
for(int j=0;j<v1[i].length;j++){
v1[i][j] =
new Integer((i+1)*(j+1));
}//end inner loop
}//end outer loop
//Display the array elements
for(int i=0;i<v1.length;i++){
for(int j=0;j<v1[i].length;j++){
System.out.print(
v1[i][j] + " ");
}//end inner loop
System.out.println();//new line
}//end outer loop
System.out.println();//new line
//Create a ragged array with two
// rows. The first row has three
// columns and the second row has
// three columns. The length of
// each row could be anything, but
// was set to three to match the
// above array structure.
Object[][] v2 = new Object[2][];
v2[0] = new Object[3];
v2[1] = new Object[3];
//Populate the array elements with
// references to objects of type
// Integer.
for(int i=0;i<v2.length;i++){
for(int j=0;j<v2[i].length;j++){
v2[i][j] =
new Integer((i+1)*(j+1));
}//end inner loop
}//end outer loop
//Display the array elements
for(int i=0;i<v2.length;i++){
for(int j=0;j<v2[i].length;j++){
System.out.print(
v2[i][j] + " ");
}//end inner loop
System.out.println();//new line
}//end outer loop
System.out.println();//new line
//Create a one-dimensional array
// of type Object, which contains
// references to array objects of
// type Object. The secondary
// array objects could be of any
// length, but were set to three
// to match the above array
// structure.
Object[] v3 = new Object[2];
v3[0] = new Object[3];
v3[1] = new Object[3];
//Populate the array elements with
// references to objects of type
// Integer.
for(int i=0;i<v3.length;i++){
for(int j=0;
j<((Object[])v3[i]).length;
j++){
((Object[])v3[i])[j] =
new Integer((i+1)*(j+1));
}//end inner loop
}//end outer loop
//Display the array elements
for(int i=0;i<v3.length;i++){
for(int j=0;
j<((Object[])v3[i]).length;
j++){
System.out.print(
((Object[])v3[i])[j] + " ");
}//end inner loop
System.out.println();//new line
}//end outer loop
System.out.println();//new line
//Create a ragged array with two
// rows. The first row has two
// columns and the second row has
// three columns.
Object[][] v4 = new Object[2][];
v4[0] = new Object[2];
v4[1] = new Object[3];
//Populate the array elements with
// references to objects of type
// Integer.
for(int i=0;i<v4.length;i++){
for(int j=0;j<v4[i].length;j++){
v4[i][j] =
new Integer((i+1)*(j+1));
}//end inner loop
}//end outer loop
//Display the array elements
for(int i=0;i<v4.length;i++){
for(int j=0;j<v4[i].length;j++){
System.out.print(
v4[i][j] + " ");
}//end inner loop
System.out.println();//new line
}//end outer loop
System.out.println();//new line
//Create a one-dimensional array
// of type Object, which contains
// references to array objects of
// type Object. The secondary
// array objects could be of any
// length, but were set to two and
// three to match the ragged array
// above.
Object[] v5 = new Object[2];
v5[0] = new Object[2];
v5[1] = new Object[3];
//Populate the array elements with
// references to objects of type
// Integer.
for(int i=0;i<v5.length;i++){
for(int j=0;
j<((Object[])v5[i]).length;
j++){
((Object[])v5[i])[j] =
new Integer((i+1)*(j+1));
}//end inner loop
}//end outer loop
//Display the array elements
for(int i=0;i<v5.length;i++){
for(int j=0;
j<((Object[])v5[i]).length;
j++){
System.out.print(
((Object[])v5[i])[j] + " ");
}//end inner loop
System.out.println();//new line
}//end outer loop
System.out.println();
//Create a one-dimensional array
// of type int, which contains
// references to array objects of
// type Object. The secondary
// array objects could be of any
// length.
Object[] v6 = new Object[2];
v6[0] = new int[7];
v6[1] = new int[3];
//Now illustrate that the elements
// of the leaves of a ragged array
// implemented in this manner can
// contain primitive values.
// Populate the array elements with
// type int.
for(int i=0;i<v6.length;i++){
for(int j=0;
j<((int[])v6[i]).length;
j++){
((int[])v6[i])[j] = (i+2)*(j+2);
}//end inner loop
}//end outer loop
//Display the array elements
for(int i=0;i<v6.length;i++){
for(int j=0;
j<((int[])v6[i]).length;
j++){
System.out.print(
((int[])v6[i])[j] + " ");
}//end inner loop
System.out.println();//new line
}//end outer loop
}//end main
}//end class Array07
//===================================//
Listing 26
|
About the author
Richard Baldwin is a college professor (at Austin Community College in Austin, TX) and private consultant whose primary focus is a combination of Java and XML. In addition to the many platform-independent benefits of Java applications, he believes that a combination of Java and XML will become the primary driving force in the delivery of structured information on the Web.Richard has participated in numerous consulting projects involving Java, XML, or a combination of the two. He frequently provides onsite Java and/or XML training at the high-tech companies located in and around Austin, Texas. He is the author of Baldwin's Java Programming Tutorials, which has gained a worldwide following among experienced and aspiring Java programmers. He has also published articles on Java Programming in Java Pro magazine.
# # #
0 Comments (click to add your comment)
Networking Solutions
