Присвоение значений массиву Java

Чтобы присвоить значения объектам в объектном массиве Java®, используйте синтаксис команд MATLAB®. Например, следующий оператор присваивает значение массиву Java A типа java.lang.Double .

A(row,column) = java.lang.Double(value)

В программе Java вы присвоили бы значение A[row-1][column-1]. Для получения дополнительной информации о различиях между массивами MATLAB и Java смотрите, Как MATLAB Представляет Массивы Java.

Чтобы запустить примеры в этой теме, создайте 4 5 массив dblArray. Значения, отображенные для dblArray, зависят от порядка, в котором вы запускаете примеры.

dblArray = javaArray('java.lang.Double',4,5);
for m = 1:4
    for n = 1:5
        dblArray(m,n) = java.lang.Double((m*10)+n);
    end
end
dblArray
dblArray =

  java.lang.Double[][]:

    [11]    [12]    [13]    [14]    [15]
    [21]    [22]    [23]    [24]    [25]
    [31]    [32]    [33]    [34]    [35]
    [41]    [42]    [43]    [44]    [45]

Единственное присвоение индексации индекса

Можно использовать одно-нижнюю индексацию, чтобы присвоить значения массиву. Например, создайте массив Java 5 на 1 и присвойте его строке dblArray.

onedimArray = javaArray('java.lang.Double',5);
for k = 1:5
    onedimArray(k) = java.lang.Double(100*k);
end

Замените строку 3 со значениями onedimArray.

dblArray(3) = onedimArray
dblArray =

  java.lang.Double[][]:

    [ 11]    [ 12]    [ 13]    [ 14]    [ 15]
    [ 21]    [ 22]    [ 23]    [ 24]    [ 25]
    [100]    [200]    [300]    [400]    [500]
    [ 41]    [ 42]    [ 43]    [ 44]    [ 45]

Присвоение линейной матрицы

Чтобы присвоить значение каждому элементу многомерного массива Java, используйте оператор двоеточия MATLAB (:). Например, инициализируйте содержимое dblArray, чтобы обнулить.

dblArray(:) = java.lang.Double(0)
dblArray =

  java.lang.Double[][]:

    [0]    [0]    [0]    [0]    [0]
    [0]    [0]    [0]    [0]    [0]
    [0]    [0]    [0]    [0]    [0]
    [0]    [0]    [0]    [0]    [0]

Используйте оператор двоеточия, как вы были бы при работе с массивами MATLAB. Например, присвойте одно значение каждой строке в dblArray.

dblArray(1,:) = java.lang.Double(125);
dblArray(2,:) = java.lang.Double(250);
dblArray(3,:) = java.lang.Double(375);
dblArray(4,:) = java.lang.Double(500)
dblArray =

  java.lang.Double[][]:

    [125]    [125]    [125]    [125]    [125]
    [250]    [250]    [250]    [250]    [250]
    [375]    [375]    [375]    [375]    [375]
    [500]    [500]    [500]    [500]    [500]

Пустое матричное присвоение

Можно присвоить пустую матрицу ([]) элементу массива Java. MATLAB хранит значение null, а не массив 0 на 0.

dblArray(2,2) = []
dblArray =

  java.lang.Double[][]:

    [125]    [125]    [125]    [125]    [125]
    [250]       []    [250]    [250]    [250]
    [375]    [375]    [375]    [375]    [375]
    [500]    [500]    [500]    [500]    [500]

Преобразованное в нижний индекс удаление

Если вы присваиваете пустую матрицу целой строке или столбцу массива MATLAB, то MATLAB удаляет ту строку или столбец от массива. Когда вы присваиваете пустую матрицу массиву Java, массив поддерживает свои размерности.

Например, создайте массив MATLAB.

for m = 1:4
    for n = 1:5
        matlabArr(m,n) = (m*10) + n;
    end
end
matlabArr
matlabArr = 
    11    12    13    14    15
    21    22    23    24    25
    31    32    33    34    35
    41    42    43    44    45

Присвойте пустую матрицу четвертому столбцу. Этот оператор изменяет свои размерности от 4 5 до 4 на 4.

matlabArr(:,4) = []
matlabArr = 
    11    12    13    15
    21    22    23    25
    31    32    33    35
    41    42    43    45

Когда вы присваиваете пустую матрицу массиву Java dblArray, массив поддерживает 4 5 размерности.

dblArray(:,4) = []
dblArray =

  java.lang.Double[][]:

    [125]    [125]    [125]    []    [125]
    [250]       []    [250]    []    [250]
    [375]    [375]    [375]    []    [375]
    [500]    [500]    [500]    []    [500]
Была ли эта тема полезной?