用Java实现两棵层次树笛卡尔积的数据结构聚合
需要使用Java对两个层次树结构的笛卡尔积进行聚合,请推荐一些好的方法或API
树结构:
乡土树:
节点| Id |父Id
世界| 1 | 1
亚洲| 2 | 1
欧洲| 3 | 1
印度| 4 | 2
中国| 5 | 2
英国| 6 | 3
匈牙利| 7 | 3
塞浦路斯| 8 | 3
利润树:
节点| Id |父Id
利润| 1 | 1
收入| 2 | 1
费用| 3 | 1
这两个乘积的笛卡尔积将给出24个组合(8x3)。我需要为每个组合聚合值
例如,我想知道欧洲、亚洲和世界的总收入,欧洲的总利润等等
# 1 楼答案
如果没有结构的细节,有点难以回答。但我猜他们可能是什么,你可以推断出你的结构
我将经济数据建模为一张地图,而不是一棵树,因为坦率地说,鉴于数据没有层次性,我认为将其作为一个层次是没有意义的
我也没有处理过数据丢失的情况。在从地图获取数据之前,通过
containsKey
检查添加并不困难欧洲的总收入是:
简单:-)