これは、ドキュメントに見られるようにMatlabで定義されたサイズ関数です:
m = size(X,dim) returns the size of the dimension of X specified by scalar dim.
1) X が Java の単一の配列であるとすると、Java を使用してこのメソッドをどのように複製しますか。
Matlab just stores matrix and n-dimensional data linearly in an array. Each dimension's size is saved along with the array, so Matlab knows which element to return when you index not linearly (e.g. A(3,5)
for a 5x5 matrix, Matlab knows it should return element A(23)
which is 3+(5-1)*5
).
So in java if an array has size N1xN2x...xNN
, and your looking for element: (X1,X2,...,XN)
, you should find element with position: X1+(X2-1)*N1+(X3-1)*N1*N2+ ... +(XN-1)*NN-1*..*N1
in the array...
配列のサイズ(任意の次元)だけが必要な場合は、属性がありますArray.length
。
JLSから:
配列のコンポーネントの数を含む public final フィールドの長さ。長さは正またはゼロです。
例えば:
int[] arr = new int[10];
int length = arr.length; //would obtain 10
Java の配列には、要素数という 1 つの次元しかありません。プロパティを使用するだけで、これにアクセスできますArray.length
。より複雑なコンテナー ( などArrayList
) の場合、多くの場合、 member-function を使用できますsize()
。
int[] array = new int[5];
int arrayLength = array.length; //arrayLength == 5
ArrayList<int> arrayList = new ArrayList();
arrayList.add(1);
arrayList.add(2);
int arrayListLength = arrayLis.size(); //arrayListLength == 2