1

我正在使用多键包来计算某些值组合的出现次数,我想知道是否有一种优雅的方法可以将这些包转换为嵌套的 SortedMaps,如 TreeMaps。嵌套 TreeMap 的数量等于多键中的组件数量。例如,假设我有一个具有已定义键的多键包:

multiKey = new String[]{"age", "height", "gender"}

因此,我想从中获得的对象是:

TreeMap<Integer, TreeMap<Integer, TreeMap<Integer, Integer>>>

并用多键包中的值填充它。因此,嵌套结构将包含来自多键的值,如下所示:

TreeMap<"age", TreeMap<"height", TreeMap<"gender", count>>> 

其中“年龄”被包中的相应值替换,“身高”也被替换等等。计数是该特定组合的出现次数(由多键包本身返回)。

当然,多键的组件数量是动态的。如果 multiKey 只有两个组件,则生成的对象将是:

TreeMap<Integer<TreeMap<Integer, Integer>>

从包中检索值并填充(嵌套)TreeMap 并不代表问题。只有转换。任何帮助表示赞赏。

4

1 回答 1

0

您为什么不创建自己的类将相关数据组合在一起,而不是使用一堆包装器?看起来这会大大简化这个过程。

尽管如此如果您真正想要的是能够对您的数据执行复杂的查询(伪代码):

全选(男性 >= 25 && 身高 < 6'1)&&(女性 < 40 && 身高 > 5'0)

那么您可能应该考虑使用数据库。我并不是说 aTree不好,但是如果您的目标是能够轻松/快速地执行复杂的查询,那么数据库就是要走的路。当然,您可以编写自己的类/方法来为您执行这些计算,但是如果您不需要,为什么要重新发明轮子呢?

于 2013-07-09T10:18:54.693 回答