主要内容

このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。

Java配列の要素へのアクセス

MATLAB配列インデックス付け

Java®オブジェクト配列の要素にアクセスするには,MATLAB®配列インデックス付け構文(行、列)を使用します。Javaプログラムでは、構文は(第1行)(第1列)です。

単独の添字インデックス

単独の添字のあるMATLAB行列の要素を参照する際,MATLABは行列の単一要素を返します。一方,Javaの多次元配列への単独の添字(線形)インデックスはサブ配列を返します。

たとえば,MATLAB配列を作成します。

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

内容をJava配列にコピーします。

javaArr = javaArray (“java.lang.Integer”、4、5);m = 1:4n = 1:5 javaArr(m,n) = java.lang.Integer(matlabArr(m,n));结束结束javaArr
javaArr = . lang。整数[][]:[11][12][13][14][15][21][22][23][24][25][31][32][33][34][35][41][42][43][44][45]

インデックス値3でMATLAB配列の単一要素が返されます。

matlabArr (3)
ans = 31

インデックス値3でJava配列の3行目全体が返されます。

javaArr (3)
ans = . lang。整数[]:[31][32][33][34][35]

Java配列への線形インデックス付けにより,大きい配列構造から配列全体を指定することができます。その後,それをオブジェクトとして操作できます。

コロン演算子のインデックス

配列の要素の範囲を指定するには,结肠演算子 ()を使用します。たとえば,4 行 5 列の Java 配列を作成します。

dblArray = javaArray (“java.lang.Double”、4、5);m = 1:4n = 1:5 dblArray(m,n) = java.lang.Double((m*10)+n);结束结束dblArray
dblArray = . lang。双重[][]:[11][12][13][14][15][21][22][23][24][25][31][32][33][34][35][41][42][43][44][45]

列2から4の要素からサブ配列row2Arrayを作成します。

row2Array = dblArray (2:4)
row2Array = . lang。Double[]: [22] [23] [24]

コロンを線形インデックス付けと一緒に使用して行列全体のすべての要素を参照することもできます。ただし,Java配列とMATLAB配列はメモリでの格納方法が異なるため,線形配列の要素の順序が異なります。Java配列要素は“行x列”の形式,つまり行列の行と一致する順序で格納されます。MATLAB配列要素は列方向,つまり列と一致する順序で格納されます。たとえば、4行5列の配列dblArrayを20行1列の線形配列に変換します。

linearArray = dblArray (:)
linearArray = . lang。双重[]:[11][12][13][14][15][21][22][23][24][25][31][32][33][34][35][41][42][43][44][45]

结束の添字使用

複数レベルのJava配列の最上位レベルの配列を参照するには,结束キーワードを最初の添字として使用します。たとえば,Java配列dblArrayの3行目から最後の行までのデータを表示します。

last2rows = dblArray(3:最终,:)
last2rows = . lang。双重[][]:[31][32][33][34][35][41][42][43][44][45]

下位レベルの配列で结束を使用しないでください。配列に潜在的に不調和な性質があるため、MATLAB では最後の値を判別できません。詳細については、Java配列の形状を参照してください。

オブジェクトの配列要素のMATLAB型への変換

java . lang . object配列の要素にアクセスする場合,MATLABは,java . lang . object型の戻り値の表に基づいて,要素をMATLABの型に変換します。その他の型のJava配列の要素は,MATLABによって変換されません。

たとえば,java . lang . object配列にjava.lang.Double要素が含まれる場合,MATLABはその要素をMATLABに変換します。MATLABはしかし,java.lang.Double配列のjava.lang.Double要素を変換しないため,MATLABではjava.lang.Doubleとして返されます。

関連するトピック