属性別にグループ化された統計を計算しています。この属性 ( Strings として指定) のカテゴリごとに、集計したい値を取得します。
このためには、カテゴリから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();
}
});
「言葉遣いの少ない」解決策はありますか?オブジェクトをインスタンス化するためだけに匿名クラスをスローする必要がないものはありますか?