有一个固定内容的二维数组,
用JAVA形式展现出来,而且方便取值。
方案一:用Map保存这些值,例如 行索引用字符a,b,c,d,e....表示
列索引用字符0,1,2,3,4,5....表示
初始化:
map.put(a+0,value1);
map.put(a+1,value2);
map.put(b+0,value3);
map.put(b+1,value4);
取值:map.get(a0)
--------------
方案二:用二维护数组直接表示出来
arr[][]={
{value1,value2},
{value3,value4}
}
取值时用两个方法来定位行列,之后取出值
getRowIndex(RowName)---->字符a对应的是0行,字符b对应的是1行
getColumnIndex(ColumnName)---->字符0对应的是0列,字符b对应的是1列
方案三:对于固定的一些值,查看值的规律,查找有数组中的重复值。
例如
1 2 3 1 2 3
2 3 1 2 3 1
3 1 2 3 1 2
1 1 1 2 2 2
3 3 3 2 2 2
3 1 2 3 2 1
3 2 1 3 2 1
如上图只有1,2,3三个值。
而行列矩阵是6*7,所以总维度是7个,即入口是七个参数,出口的值总共有3个。
用电路学的归纳法,把相同的路径归纳出来,最终出来的会是简单的几个入口值分别对应3个出口值。
此方法相对于以上两方案是可维护性差,后接手的人很难猜出作者意图且单元测试困难。
优点是运算快,不占内存!
求三方案的不足处,及是否有更好的方案可解决。
用JAVA形式展现出来,而且方便取值。
方案一:用Map保存这些值,例如 行索引用字符a,b,c,d,e....表示
列索引用字符0,1,2,3,4,5....表示
初始化:
map.put(a+0,value1);
map.put(a+1,value2);
map.put(b+0,value3);
map.put(b+1,value4);
取值:map.get(a0)
--------------
方案二:用二维护数组直接表示出来
arr[][]={
{value1,value2},
{value3,value4}
}
取值时用两个方法来定位行列,之后取出值
getRowIndex(RowName)---->字符a对应的是0行,字符b对应的是1行
getColumnIndex(ColumnName)---->字符0对应的是0列,字符b对应的是1列
方案三:对于固定的一些值,查看值的规律,查找有数组中的重复值。
例如
1 2 3 1 2 3
2 3 1 2 3 1
3 1 2 3 1 2
1 1 1 2 2 2
3 3 3 2 2 2
3 1 2 3 2 1
3 2 1 3 2 1
如上图只有1,2,3三个值。
而行列矩阵是6*7,所以总维度是7个,即入口是七个参数,出口的值总共有3个。
用电路学的归纳法,把相同的路径归纳出来,最终出来的会是简单的几个入口值分别对应3个出口值。
此方法相对于以上两方案是可维护性差,后接手的人很难猜出作者意图且单元测试困难。
优点是运算快,不占内存!
求三方案的不足处,及是否有更好的方案可解决。