Und*_*ned 9 java multidimensional-array
我试图围绕三维数组.我知道它们是二维数组的数组,但是我正在读的那本书让我感到困惑.
在我正在阅读的这本书的练习中,它要求我为全彩色图像制作一个三维数组.它给出了一个小例子说:
如果我们决定选择一个三维数组,这里是如何声明数组:
int[][][] colorImage = new int[numRows][numColumns][3];
Run Code Online (Sandbox Code Playgroud)
但是,这不是更有效吗?
int[][][] colorImage = new int[3][numRows][numColumns];
Run Code Online (Sandbox Code Playgroud)
其中3是rgb值,0表示红色,1表示绿色,2表示蓝色.对于后者,每个二维数组都会存储行和列的颜色值,对吧?我只是想确保我理解如何有效地使用三维数组.
任何帮助将不胜感激,谢谢.
顺序并不重要,实际上前一种形式更具可读性:
final const int RED = 0;
final const int GREEN = 1;
final const int BLUE = 2;
int[][][] colorImage = new int[numRows][numColumns][3];
//...
int x = getSomeX();
int y = getSomeY();
int redComponent = colorImage[x][y][RED];
int greenComponent = colorImage[x][y][GREEN];
int blueComponent = colorImage[x][y][BLUE];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
50098 次 |
| 最近记录: |