java 如何 matrix
Java 中矩阵的实现与操作
在 Java 中,矩阵通常通过二维数组或专门的库(如 Apache Commons Math)实现。以下是几种常见的方法:
使用二维数组定义矩阵
int[][] matrix = {
{1, 2, 3},
{4, 5, 6},
{7, 8, 9}
};
矩阵乘法示例
public static int[][] multiply(int[][] a, int[][] b) {
int rowsA = a.length;
int colsA = a[0].length;
int colsB = b[0].length;
int[][] result = new int[rowsA][colsB];
for (int i = 0; i < rowsA; i++) {
for (int j = 0; j < colsB; j++) {
for (int k = 0; k < colsA; k++) {
result[i][j] += a[i][k] * b[k][j];
}
}
}
return result;
}
使用 Apache Commons Math 库
添加依赖后,可直接使用 RealMatrix 类:
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-math3</artifactId>
<version>3.6.1</version>
</dependency>
代码示例:

RealMatrix matrix = MatrixUtils.createRealMatrix(new double[][]{
{1, 2},
{3, 4}
});
RealMatrix inverse = MatrixUtils.inverse(matrix);
矩阵转置实现
public static int[][] transpose(int[][] matrix) {
int rows = matrix.length;
int cols = matrix[0].length;
int[][] transposed = new int[cols][rows];
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
transposed[j][i] = matrix[i][j];
}
}
return transposed;
}
注意事项
- 进行矩阵运算前需检查维度是否匹配(如乘法要求第一个矩阵的列数等于第二个矩阵的行数)。
- 对于大规模矩阵运算,建议使用优化库如 EJML 或 ND4J。
- 稀疏矩阵可考虑使用压缩存储格式(如 CSR)。






