我正在计算按属性分组的统计数据。对于这个属性的每个类别(以String
s 给出),我得到我想要聚合的值。
为此,我需要一个从类别到DescriptiveStatistics
(由 提供org.apache.commons.math.stat.descriptive
)的映射。在这张地图中,我必须检查是否已经为给定的类别DescriptiveStatistics
创建了相应的类别。这个检查,以及新的创建DescriptiveStatistics
,应该由地图来完成。
我测试了 Apache 的LazyMap
,但非通用性导致我使用 Guava 的LoadingCache
. 这些方面的东西对我有用:
LoadingCache<String, DescriptiveStatistics> groupedStats =
CacheBuilder.newBuilder()
.build(new CacheLoader<String, DescriptiveStatistics>() {
@Override
public DescriptiveStatistics load(String key) {
return new DescriptiveStatistics();
}
});
有没有更“罗嗦”的解决方案?一个不需要我为了实例化对象而投入匿名类的方法?