JAVA展现二维数组及取值

有一个固定内容的二维数组,
用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个出口值。
此方法相对于以上两方案是可维护性差,后接手的人很难猜出作者意图且单元测试困难。
优点是运算快,不占内存!


求三方案的不足处,及是否有更好的方案可解决。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值