用java建模矩阵的最佳方法是什么?
我必须对这个表进行建模:用java建模矩阵的最佳方法是什么?,java,matrix,Java,Matrix,我必须对这个表进行建模: -------------------------------------- | range | X<10 | 10<X<30 | 30<X<50 | |--------|---------------------------| | Y<5 | HIGH | MIDDLE | LOW | |------------------------------------| | 5<Y<10 | MIDD
--------------------------------------
| range | X<10 | 10<X<30 | 30<X<50 |
|--------|---------------------------|
| Y<5 | HIGH | MIDDLE | LOW |
|------------------------------------|
| 5<Y<10 | MIDDLE| LOW | HIGH |
|____________________________________|
--------------------------------------
|范围| X两张地图怎么样
Map<Range, Map<Range, String>>()
Map()
范围将包含2个整数(下限和上限),您需要实现equals()
和hashcode()
,以使范围符合“映射”性质
因此,第一个Map
将按X
过滤,第二个Map
填充获取值(高、低等)两个贴图如何
Map<Range, Map<Range, String>>()
Map()
范围将包含2个整数(下限和上限),您需要实现equals()
和hashcode()
,以使范围符合“映射”性质
因此,第一个Map
将按X
过滤,第二个Map
填充获取值(高、低等)private int getYIndex(int y){
如果(y<5)返回0;
如果(5
这样,您就可以有一个二维字符串数组(字符串[][]),其中的索引将由上述函数给出。private int getYIndex(int y){
如果(y<5)返回0;
如果(5
因此,您可以使用一个2D字符串数组(String[][]),其中的索引将由上述函数给出。在这种情况下,我会在方法中使用“一些if语句”。Java实际上不适合解决这样的[一次性的小问题]。(使用Map、n维数组或其他支持对更大的查找更有意义,但……这里没有这么多。)对于大量维度来说,问题会更有趣:)在这种情况下,我会在方法中说“一些if语句”。Java实际上不适合解决这样的[一次性的小问题]。(使用地图、n维数组或其他备份对于更大的查找更有意义,但……在这里就不这么多了。)对于大量维度来说,这个问题更有趣:)必须提到的是,区域不应该重叠,否则equals()
方法将产生不可预测的结果。@Max,为什么不呢?equals()的实现取决于您,因此您可以处理equals()代码内部的重叠。必须提到的是,区域永远不应该重叠,否则equals()
方法将产生不可预测的结果。@Max,为什么不应该呢?equals()的实现取决于您,因此您可以处理equals()代码内部的重叠。