Термин Java® array относится к контейнерному объекту, который содержит постоянное число значений одного типа. Тип массива записан как
. Массив массивов — также известный как многомерный массив — использует два или больше набора скобок, такие как type[]
String[][]
.
Термин размерность относится к количеству индексов, требуемых обратиться к элементам массива. Размерность не является мерой длины, ширины и высоты. Например, массив 5 на 1 одномерен, потому что вы используете один индекс, чтобы получить доступ к отдельному элементу. Чтобы работать с двумерным массивом, создайте массив массивов. Чтобы добавить дальнейшие размерности, добавьте больше уровней в массив, делая его массивом массивов массивов, и так далее.
MATLAB® обрабатывает многоуровневые массивы Java как матрицы и многомерные массивы. Используйте тот же синтаксис MATLAB, чтобы получить доступ к элементам массива Java.
Индексы массива Java основаны на нуле, в то время как индексы массива MATLAB на основе одни. В программировании Java вы получаете доступ к элементам массива y
длины N
с помощью y[0]
через y[N-1]
. При работе с этим массивом в MATLAB вы получаете доступ к этим элементам с помощью y(1)
через y(N)
.
Для примера смотрите доступ к Элементам Массива Java.
Двумерный массив MATLAB является прямоугольником, как каждая строка имеет равную длину и каждый столбец равной высоты. Массив Java является массивом массивов и не обязательно придерживается этой прямоугольной формы. Каждый отдельный массив низшего уровня может иметь различную длину.
Следующее изображение показывает массив трех основных массивов различных длин. Зубчатый термин (или неровный) обычно используется, чтобы описать это расположение элементов массива, когда концы массивов не совпадают равномерно. Когда метод Java возвращает зубчатый массив примитивных типов Java, MATLAB хранит его в массиве ячеек.
Функция string
MATLAB заполняет зубчатый массив строк Java, делая его прямоугольным массивом MATLAB.
Функция size
MATLAB возвращает длину массива Java. Количество столбцов всегда равняется 1.
Потенциально неровная форма массива Java лишает возможности измерять массив таким же образом что касается массива MATLAB. В массиве Java никакое одно значение не представляет размер массивов низшего уровня.
Например, рассмотрите следующий массив Java.
size(A)
возвращает размерности самого высокого уровня массива A. Высший уровень массива имеет размер 3 на 1.
size(A)
ans = 3 1
Чтобы найти размер массива низшего уровня, например, массив с пятью элементами в строке 3, относятся к строке явным образом.
size(A(3))
ans = 5 1
Можно задать размерность в команде size
с помощью следующего синтаксиса. Однако эта команда только измеряет первую размерность, dim=1
, единственную неунарную размерность.
m = size(X,dim) size(A,1)
ans = 3
Функция ndims
MATLAB всегда возвращает значение 2 для количества размерностей в массиве Java. Это значение является количеством размерностей в массиве верхнего уровня.
MATLAB отображает вектор Java как столбец, но обрабатывает его, как будто это был вектор - строка. Для примеров смотрите конкатенацию Массивов Java.