这是在Matlab中定义的大小函数,如文档中所示:
m = size(X,dim) returns the size of the dimension of X specified by scalar dim.
1)鉴于X是java中的单个数组,我将如何使用Java复制此方法。
答案 0 :(得分:1)
Matlab只是将矩阵和n维数据线性存储在一个数组中。每个维度的大小都与数组一起保存,因此当您非线性索引时,Matlab知道返回哪个元素(例如,对于5x5矩阵,A(3,5)
,Matlab知道它应该返回A(23)
元素{{1} }})。
所以在java中,如果数组的大小为3+(5-1)*5
,并且您正在查找元素:N1xN2x...xNN
,则应该在数组中找到位置为(X1,X2,...,XN)
的元素...
答案 1 :(得分:0)
如果你只想要数组的大小(任何维度),你有一个属性Array.length
。
来自JLS:
公共最终字段长度,包含组件数 数组。长度可以是正数或零。
例如:
int[] arr = new int[10];
int length = arr.length; //would obtain 10
答案 2 :(得分:0)
Java中的数组只有一个维度:元素的数量。您只需使用属性Array.length
即可访问此内容。对于更复杂的容器(例如ArrayList
),您通常可以使用成员函数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