java是存储矩阵值以便以后访问的更好方法
我正在开发一个医学应用程序,对于公式中的某些领域,我必须根据人的年龄和身高计算出最佳结果。最佳值在一个矩阵中给出,其中的指数是身高和年龄(显然),如下所示:
Height 135 140 and so on...
Age
5 1.5 1.6
10 1.6 1.8
15 1.7 1.8
and so on...
我不能在数据库中存储这些值,所以我想知道存储这些值的更有效的方法是什么
我首先想到的是使用这个:
private static Map<Integer, HashMap<Integer, Float>> optimalValues = new HashMap<Integer, HashMap<Integer, Float>>();
第一个指标是年龄,第二个指标是身高
数据验证是通过一个静态类进行的,矩阵将构建在一段静态初始化代码中
有没有更好的办法
# 1 楼答案
简短回答:
主要问题是您的数据是否遵循严格的结构
如果它是严格的,那么只要你遵守规则,{}就可以了。
如果它是松弛的,则需要一个
map
来实现灵活性严格的结构也意味着,对数据进行更改将更加困难。 地图允许你输入任何你想要的数据,没有限制,但是有缺点
更长的回答: 这实际上取决于你有什么要求
如果所有行的单元格数都完全相同,并且您不打算进行任何重大更改,那么简单的浮点[]2D数组在所有方面都更有效:
另一方面,如果您突然决定为136添加一个高点,则“地图”更适合,因为您可以动态输入所需的任何新数据