问题
Our homework assignment asks us to use a jagged array to store the values of a two dimensional boolean matrix. Is there a built in java class for the jagged array or am I going to have to manually create it with an Array of ArrayLists?
回答1:
In Java, a 2D array is an array of 1D array objects. Each 1D array can have different length, which means that you get jagged arrays out of the box.
For example, the following is perfectly valid Java, and prints out 3 5 3 4
:
int x[][] = {{0,1,2,3,4},{0,1,2},{0,1,2,3}};
System.out.println(x.length);
System.out.println(x[0].length);
System.out.println(x[1].length);
System.out.println(x[2].length);
回答2:
It actually sounds like you might want a sparse matrix implementation. You can get much better performance out of it if you are having to modify the matrix. Array copy operations are pretty expensive. Sparse matrices / arrays in Java
来源:https://stackoverflow.com/questions/10271540/java-jagged-array