com.mathworks.toolbox.javabuilder.MWArray 类
命名空间: com.mathworks.toolbox.javabuilder
Java 类可作为所有 MATLAB 数组类型的基础,具有原生数组处理功能
描述
声明
public abstract class MWArray extends java.lang.Object implements java.lang.Cloneable, java.lang.Comparable, java.io.Serializable, Disposable
MWArray 类是所有 MATLAB 数组类型的基类。此类存储原生 MATLAB 数组的句柄,并提供查询数组属性和访问数组数据的方法
实现的接口:Disposable、java.io.Serializable、java.lang.Cloneable、java.lang.Comparable
直接已知子类:MWCellArray、MWCharArray、MWJavaObjectRef、MWLogicalArray、MWMatrixRef、MWNumericArray、MWStringArray、MWStructArray
创建对象
构造函数
public MWArray()
属性
公共属性
一种方便、高效且一致的方式来表示空数组,如下所示:
public static final MWArray EMPTY_ARRAY
方法
applyVisitor |
此方法是抽象的,返回由类型参数<T>指定的类型。它以 参数:
返回:
|
classID |
返回此数组的 MATLAB 类型。此示例使用 3×6 的 MWNumericArray 对象 A,由以下 Java 代码构造: int[][] Adata = {{ 1, 2, 3, 4, 5, 6},
{ 7, 8, 9, 10, 11, 12},
{13, 14, 15, 16, 17, 18}};
MWNumericArray A = new MWNumericArray(Adata, MWClassID.INT32);示例:获取 MWArray 的类 ID 返回先前创建的 MWNumericArray 对象的类 ID,如下所示: System.out.println("Class of A is " + A.classID());Class of A is int32 返回:此数组的 MWClassID |
clone |
此方法创建并返回 MWArray 对象的深层副本。因为 clone 分配了一个新数组,所以对这个新数组所做的任何更改都不会反映在原始数组中。 示例:克隆 MWArray 对象 Object C = A.clone();
System.out.println("Clone of matrix A is:");
System.out.println(C.toString());Clone of matrix A is:
1 2 3 4 5 6
7 8 9 10 11 12
13 14 15 16 17 18覆盖: 返回:MWArray 实例代表底层 MATLAB 数组的深度复制。 抛出:
|
columnIndex |
此方法返回一个数组,其中包含底层 MATLAB 数组中每个元素的列索引。 在以下示例中,稀疏 MWArray(由 newSparse 方法创建)的内容为: (2,1) 50 (1,2) 10 (2,2) 60 (1,5) 40 (2,5) 90 示例:获取稀疏 MWArray 的列索引 获取稀疏数组元素的列索引: System.out.print("Column indices are: ");
int[] colidx = A.columnIndex();
for (int i = 0; i < 5; i++)
System.out.print(colidx[i] + " ");
System.out.println();运行时,该示例显示以下输出: Column indices are: 1 2 2 5 5 返回:索引数组。 |
compareTo |
此方法将 MWArray 对象与输入对象进行比较。如果 MWArray 对象小于、等于或大于指定对象,则分别返回负整数、零或正整数。 示例:使用 compareTo 比较 MWArray 创建 MWArray 对象的共享副本,然后将其与原始对象进行比较。返回值为零表示两个对象相等: Object S = A.sharedCopy();
if (A.compareTo(S) == 0)
System.out.println("Matrix S is equal to matrix A");Matrix S is equal to matrix A 指定者: 参数:
|
dispose |
此方法销毁数组对象包含的原生 MATLAB 数组并释放数组占用的内存。 示例:构造 MWArray 对象 构造并销毁 MWArray 对象,如下所示: MWArray A = new MWArray(); A.dispose(); 指定者: |
disposeArray |
此方法会销毁输入对象中包含的任何原生 MATLAB 数组并释放它们占用的内存。这是类的静态方法,因此不需要引用类的实例来调用。如果输入对象实现了 示例:构造 MWNumericArray 对象 MWArray[] MArr = new MWArray[10];
for (int i = 0; i < 10; i++)
MArr[i] = new MWNumericArray();
MWArray.disposeArray(MArr);参数:
|
equals |
该方法表示 MWArray 对象等于输入对象。MWArray 类的 equals 方法覆盖了 Object 类的 equals 方法。 示例:使用 equals 比较 MWArrays Object S = A.sharedCopy();
if (A.equals(S))
System.out.println("Matrix S is equal to matrix A");Matrix S is equal to matrix A 覆盖: 参数:
|
get |
返回此数组中指定从 1 开始的偏移量的元素。提供比 示例:使用 get 获取 MWArray 值 int[] cdims = {1, 3};
MWArray C = new MWArray(cdims);
Integer val = new Integer(15);
int[] index2 = {1, 3};
C.set(index2, val);
Object x = C.get(index2);
if (x instanceof int[][])
{
int[][] y = (int[][])x;
System.out.println("B: Cell data C(1,3) is " + y[0][0]);
}B: Cell data C(1,3) is 15 参数:
返回:包含所请求元素的对象。 抛出:
|
get |
返回此数组中指定的基于 1 的索引数组处的元素。 参数:
返回:包含所请求元素的对象。 抛出:
|
getData |
返回一个一维数组,其中包含底层 MATLAB 数组中数据的副本。返回数组的元素按照默认转换规则进行转换。如果底层 MATLAB 数组是复数类型,则 getData 返回实部。如果底层数组是元胞或结构体数组,则在每个元胞上递归调用 toArray。 示例:使用 getData 获取 MWArray 值 从 MWArray 对象 A 获取数据,将类型从 Object 转换为 int: System.out.println("Data read from matrix A:");
int[] x = (int[]) A.getData();
for (int i = 0; i < x.length; i++)
System.out.print(" " + x[i]);
System.out.println();Data read from matrix A: 1 7 13 2 8 14 3 9 15 4 10 16 5 11 17 6 12 18 返回:按列顺序存储的元素的一维数组。对于非稀疏数组,返回数组的长度等于 |
getDimensions |
返回包含此数组每一维的大小的数组。此示例使用 3×6 的 MWNumericArray 对象 A,由以下 Java 代码构造: int[][] Adata = {{ 1, 2, 3, 4, 5, 6},
{ 7, 8, 9, 10, 11, 12},
{13, 14, 15, 16, 17, 18}};
MWNumericArray A = new MWNumericArray(Adata, MWClassID.INT32);示例:获取 MWArray 的数组维度 int[] dimA = A.getDimensions();
System.out.println("Dimensions of A are " + dimA[0] + " x " + dimA[1]);Dimensions of A are 3 x 6 返回:包含每个维度大小的数组 |
hashCode |
该方法返回 MWArray 对象的哈希码值。MWArray 类的 hashCode 方法覆盖了 Object 类的 hashCode 方法。 示例:获取 MWArray 哈希码 获取 MWArray 对象 A 的哈希码: System.out.println("Hash code for matrix A is " + A.hashCode());
Hash code for matrix A is 45668 覆盖: java.lang.Object 类中的 hashCode |
isEmpty |
如果数组对象不包含元素,则此方法返回 true,否则返回 false。此示例使用 3×6 的 MWNumericArray 对象 A,由以下 Java 代码构造: int[][] Adata = {{ 1, 2, 3, 4, 5, 6},
{ 7, 8, 9, 10, 11, 12},
{13, 14, 15, 16, 17, 18}};
MWNumericArray A = new MWNumericArray(Adata, MWClassID.INT32);示例:测试空的 MWArray if (A.isEmpty())
System.out.println("Matrix A is empty");
else
System.out.println("A = " + A.toString());A= 1 2 3 4 5 6
7 8 9 10 11 12
13 14 15 16 17 18返回:如果为空则 |
isSparse |
如果 MWArray 对象是稀疏对象,则此方法返回 true,否则返回 false。 以下示例使用的由 newSparse 方法创建的稀疏 MWArray 的内容为: (2,1) 50 (1,2) 10 (2,2) 60 (1,5) 40 (2,5) 90 示例:测试 MWArray 的稀疏性 测试先前创建的 MWArray 对象 A 的稀疏性: if (A.isSparse())
System.out.println("Matrix A is sparse");Matrix A is sparse 返回:如果稀疏则 |
maximumNonZeros |
此方法返回稀疏数组的分配容量。如果底层数组是非稀疏的,则此方法返回与 numberOfElements 相同的值。 以下示例使用的由 newSparse 方法创建的稀疏 MWArray 的内容为: (2,1) 50 (1,2) 10 (2,2) 60 (1,5) 40 (2,5) 90 示例:获取 MWArray 中非零的最大数量 显示此数组的最大非零数: System.out.println("Maximum number of nonzeros for matrix A is "
+ A.maximumNonZeros());运行时,该示例显示以下输出: Maximum number of nonzeros for matrix A is 10 |
numberOfDimensions |
返回此数组的维数。此示例使用 3×6 的 MWNumericArray 对象 A,由以下 Java 代码构造: int[][] Adata = {{ 1, 2, 3, 4, 5, 6},
{ 7, 8, 9, 10, 11, 12},
{13, 14, 15, 16, 17, 18}};
MWNumericArray A = new MWNumericArray(Adata, MWClassID.INT32);示例:获取 MWArray 的维数 显示数组对象 A 中的元素数量: System.out.println("Matrix A has " + A.numberOfDimensions() +
" dimensions");运行时,该示例显示以下输出: Matrix A has 2 dimensions 返回:维数 |
numberOfElements |
返回此数组中元素的总数。此示例使用 3×6 的 MWNumericArray 对象 A,由以下 Java 代码构造: int[][] Adata = {{ 1, 2, 3, 4, 5, 6},
{ 7, 8, 9, 10, 11, 12},
{13, 14, 15, 16, 17, 18}};
MWNumericArray A = new MWNumericArray(Adata, MWClassID.INT32);示例:获取 MWArray 元素的数量 显示数组对象 A 中的元素数量: System.out.println("Matrix A has " + A.numberOfElements() +
" elements");运行时,该示例显示以下输出: Matrix A has 18 elements 返回:元素的数量 |
numberOfNonZeros |
此方法返回稀疏数组中非零元素的数量。如果底层数组是非稀疏的,则此方法返回与 numberOfElements 相同的值。 以下示例使用的由 newSparse 方法创建的稀疏 MWArray 的内容为: (2,1) 50 (1,2) 10 (2,2) 60 (1,5) 40 (2,5) 90 示例:获取 MWArray 中的非零数量 显示此数组中非零值的数量: 运行时,该示例显示以下输出: System.out.println("The number of nonzeros for matrix A is " +
A.numberOfNonZeros());The number of nonzeros for matrix A is 5 返回:稀疏数组中当前非零元素的数量。 |
rowIndex |
此方法返回一个数组,其中包含底层 MATLAB 数组中每个元素的行索引。 在以下示例中,稀疏 MWArray(由 newSparse 方法创建)的内容为: (2,1) 50 (1,2) 10 (2,2) 60 (1,5) 40 (2,5) 90 示例:获取稀疏 MWArray 的行索引 获取稀疏数组元素的行索引: System.out.print("Row indices are: ");
int[] rowidx = A.rowIndex();
for (int i = 0; i < 5; i++)
System.out.print(rowidx[i] + " ");
System.out.println();Row indices are: 2 1 2 1 2 返回:索引数组。 |
set |
用指定元素替换此数组中位于指定从 1 开始的偏移量的元素。提供比 示例:设置 MWArray 值 修改 MWArray 对象 A 中元素 (2, 4) 的数据: int[] index = {2, 4};
A.set(index, 555);
Object d_out = A.get(index);
System.out.println("Data read from A(2,4) is " +
d_out.toString());Data read from A(2,4) is 555 参数:
抛出:
|
set |
用指定元素替换此数组中指定的基于 1 的索引数组处的元素。 参数:
抛出:
|
setData |
|
sharedCopy |
此方法创建并返回数组的共享副本。共享副本指向底层的原始 MATLAB 数组。对副本所做的任何更改都会反映在原件中。 示例:制作 MWArray 的共享副本 创建 MWArray 对象 A 的共享副本: Object S = A.sharedCopy();
System.out.println("Shared copy of matrix A is:");
System.out.println(S.toString());Shared copy of matrix A is: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 返回:MWArray 实例表示底层 MATLAB 数组的共享副本。 |
toArray | public abstract java.lang.Object[] toArray() 返回一个包含底层 MATLAB 数组中数据副本的数组。返回的数组具有与底层 MATLAB 数组相同的维度。返回数组的元素按照默认转换规则进行转换。如果底层 MATLAB 数组是复数数值类型,则 toArray 返回实部。如果底层数组是稀疏的,则返回数组的完整表示。在具有较大行和列维度的稀疏数组上调用 toArray 时应小心,因为此操作可能会耗尽系统内存。如果底层数组是元胞或结构体数组,则在每个元胞上递归调用 toArray 示例:使用 toArray 获取 MWArray 创建并显示 MWArray 对象 A 的副本: int[][] x = (int[][]) A.toArray();
int[] dimA = A.getDimensions();
System.out.println("Matrix A is:");
for (int i = 0; i < dimA[0]; i++)
{
for (int j = 0; j < dimA[1]; j++)
System.out.print(" " + x[i][j]);
System.out.println();
}Matrix A is: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 返回:与 MATLAB 数组具有相同维数的数组。 |
toString |
此方法返回数组的字符串表示形式。MWArray 类的 toString 方法覆盖了 Object 类的 toString 方法。 示例:将 MWArray 转换为字符串 显示 MWArray 对象 A 的内容: System.out.println("A = " + A.toString());运行时,该示例显示 A 的内容: A= 1 2 3 4 5 6
7 8 9 10 11 12
13 14 15 16 17 18覆盖: |
从类 java.lang.Object 继承的方法。
finalize |
当垃圾回收确定没有更多对此对象的引用时,由垃圾回收器对该对象调用。 |
getClass |
返回此对象的运行时类。 |
notify |
|
notifyAll |
唤醒正在等待此对象的监视器的所有线程。 |
wait |
使当前线程等待,直到另一个线程调用此对象的 |
详细信息
java.lang.Objectcom.mathworks.javabuilder.MWArray
版本历史记录
在 R2006a 中推出
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
选择网站
选择网站以获取翻译的可用内容,以及查看当地活动和优惠。根据您的位置,我们建议您选择:。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 MathWorks 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
- América Latina (Español)
- Canada (English)
- United States (English)
欧洲
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)