这是在java中建模矩阵的最佳方法吗?

时间:2012-03-15 07:31:54

标签: java matrix

我必须对此表进行建模:

--------------------------------------
| range  | X<10  | 10<X<30 | 30<X<50 |
|--------|---------------------------|
|  Y<5   |  HIGH |  MIDDLE | LOW     |
|------------------------------------|   
| 5<Y<10 | MIDDLE|  LOW    | HIGH    |
|____________________________________|

所以我必须在一个带有2个参数(X和Y)的方法中对它进行建模,并根据该表返回正确的值。

我想过基于地图的实现,但也许这不是最好的方法。 你会如何塑造它?

亲切的问候 马西莫

2 个答案:

答案 0 :(得分:2)

private int getYIndex(int y) {
    if (y < 5) return 0;
    if (5 < y && y < 10) return 1;
    return -1; // should never reach this case
}

private int getXIndex(int x) {
    if (x < 10) return 0;
    if (10 < x && x < 30) return 1;
    if (30 < x && x < 50) return 2;
    return -1; // should never reach this case
}

那么你就可以得到一个字符串的二维数组(String [] []),其中的索引将来自上面的函数。

答案 1 :(得分:1)

两张地图怎么样?

Map<Range, Map<Range, String>>()

Range将包含2个整数(下限和上限),您需要实现equals()hashcode(),以使Range适合`Map '自然。

因此,第一个Map将按X过滤,第二个Map填充获取值(HIGH,LOW等)