Main Content

Java 配列への値の代入

Java® オブジェクト配列のオブジェクトに値を代入するには、MATLAB® コマンド構文を使用します。たとえば、以下のステートメントは、java.lang.Double 型の Java 配列 A に値を代入します。

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

Java プログラムでは、値を A[row-1][column-1] に代入します。Java 配列と MATLAB 配列の違いの詳細については、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]

単独の添字インデックスによる代入

単独の添字インデックスを使用して値を配列に代入することができます。たとえば、5 行 1 列の Java 配列を作成して 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 の各行に 1 つの値を代入します。

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 は、0 行 0 列の配列ではなく、null 値を格納します。

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 行目に代入します。次のステートメントで次元が 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]