This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English version of the page.

Note: This page has been translated by MathWorks. Click here to see
To view all translated materials including this page, select Country from the country navigator on the bottom of this page.

Assign Values to Java Array

To assign values to objects in a Java® object array, use the MATLAB® command syntax. For example, the following statement assigns a value to Java array A of type java.lang.Double.

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

In a Java program, you would assign the value to A[row-1][column-1]. For more information on the differences between Java and MATLAB arrays, see How MATLAB Represents Java Arrays.

To run the examples in this topic, create a 4-by-5 array dblArray. The values displayed for dblArray depend on the order in which you run the examples.

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]

Single Subscript Indexing Assignment

You can use single-subscript indexing to assign values to an array. For example, create a 5-by-1 Java array and assign it to a row of dblArray.

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

Replace row 3 with the values of 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]

Linear Array Assignment

To assign a value to every element of a multidimensional Java array, use the MATLAB colon operator (:). For example, initialize the contents of dblArray to zero.

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]

Use the colon operator as you would when working with MATLAB arrays. For example, assign one value to each row in 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]

Empty Matrix Assignment

You can assign the empty matrix ([]) to a Java array element. MATLAB stores the null value, rather than a 0-by-0 array.

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]

Subscripted Deletion

If you assign an empty matrix to an entire row or column of a MATLAB array, then MATLAB removes that row or column from the array. When you assign the empty matrix to a Java array, the array maintains its dimensions.

For example, create a MATLAB array.

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

Assign the empty matrix to the fourth column. This statement changes its dimensions from 4-by-5 to 4-by-4.

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

When you assign the empty matrix to the Java array dblArray, the array maintains its 4-by-5 dimensions.

dblArray(:,4) = []
dblArray =

  java.lang.Double[][]:

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