用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()代码内部的重叠。