我正在开发一个医疗应用程序,对于某些特定领域的公式,我必须根据人的年龄和身高来计算最佳结果。最佳值以矩阵形式给出,其中索引是高度和年龄(显然),如下所示:
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>>();
是年龄的第一个指标,第二个是身高。
数据验证是通过静态类进行的,矩阵将构建在静态初始化代码段中。
有没有更好的方法?
答案 0 :(得分:1)
简答:
主要问题是您的数据是否遵循严格的结构。
如果严格,只要您遵守规则,float[][]
就可以了。
如果它不严格,则需要map
才能获得灵活性。
严格的结构也意味着,对您的数据进行更改将更加困难。 地图允许您无限制地输入您想要的任何数据,但有利弊。
更长的答案: 这实际上取决于您的要求。
如果所有行的单元格数完全相同,并且您不打算进行任何重大更改,则简单的float [] [] 2D数组在所有方面都更有效:
如果另一方面,您可能会突然决定要为136添加高度,那么地图更合适,因为您可以动态输入所需的任何新数据。