Можно ли задать разный размер в двумерном массиве?

179
12 февраля 2018, 04:09

Есть массив:

byte[][] A = new byte[10][];

Как задать отличающиеся размеры (если возможно вообще) для массива? Например

 [0][20],[1][50], [2][10], [3][1000].
Answer 1
byte[] b1 = new byte[20];
byte[] b2 = new byte[50];
byte[] b3 = new byte[10];
byte[] b4 = new byte[1000];
byte[][] A = new byte[][]{ b1, b2, b3, b4 };

Если размер известен только в момент вычисления:

byte sizeY =  (byte) (Math.random() * 100 ); // размер внешнего массива
byte[] x = new byte[ sizeY ]; // размеры внутренних массивов
for( int i = 0; i < sizeY; i++ ){  // вычисление размеров внутренних массивов
    x[i] = (byte) (Math.random() * 100);
}
byte[][] A = new byte[ sizeY ][];
for( int i = 0; i < sizeY; i++ ){ // создание двумерного массива
    A[i] = new byte[ x[i] ];
}
READ ALSO
Передача простых типов по ссылке

Передача простых типов по ссылке

Как предавать переменные простых типов в методы, если нам необходимо изменить искомое значениеКлассы обёртки не помогают, т

142
Задача на работку с массивом Java

Задача на работку с массивом Java

Из пункта А в пункт В можно добраться: – по прямой; – по дуге окружности; – через пункт С, где участки от А до С и от С до В - прямыеВо время поездки...

252