java数据结构之矩阵的实现
这里是借助Vector,以二维数组的形式实现矩阵,并且完成矩阵相加的运算
import java.util.HashSet; import java.util.Random; import java.util.Vector; public class SetTest { // static HashSet s=new HashSet(3); public static void main(String[] args) { Matrix x1=new Matrix(3,4); Matrix x2=new Matrix(3,4); Random r=new Random(); for(int i=0;i<3;i++) { for(int j=0;j<4;j++) { x1.set(i, j, r.nextInt(10)); } } for(int i=0;i<3;i++) { for(int j=0;j<4;j++) { x2.set(i, j, r.nextInt(10)); } } x1.print(); System.out.println(); x2.print(); System.out.println(); x1.add(x2).print(); } } class Matrix{ private Vector values; private int row; private int col; public Matrix(int row,int col) { values=new Vector(row); for(int i=0;i<row;i++) { Vector c=new Vector(col); values.add(c); for(int j=0;j<col;j++) { c.add(null); } } this.row=row;this.col=col; } public void set(int row,int col,Object value) { Vector v=(Vector) values.get(row); v.set(col, value); } public Object get(int row,int col) { Vector v=(Vector) values.get(row); return v.get(col); } public int width() { return col; } public int height() { return row; } public Matrix add(Matrix x) { Matrix result=new Matrix(row,col); for(int i=0;i<row;i++) { for(int j=0;j<col;j++) { Integer integer1=(Integer) this.get(i, j); Integer integer2=(Integer) x.get(i, j); result.set(i, j, new Integer(integer1.intValue()+integer2.intValue())); } } return result; } public void print() { for(int i=0;i<row;i++) { for(int j=0;j<col;j++) { System.out.print(this.get(i, j)+" "); } System.out.println(); } } }