地図キーで一覧<地図>、グループのラップを解除し、地図値によって削減する方法

ルカFoppiano:

私がしているList<Map<String, Double>>の「カテゴリ」で保存されているいくつかの計算表すMapキーを。

[{a: 1, b:2}, {a:4, b:5})

:私は、「カテゴリ」でのようなものが平均値を計算します{a: 2.5 , b: 3.5}

私のような何かを試してみました

.collector(Collectors.groupingBy..)

しかし、最初のパラメータは、私はそれから魚する方法がわからないこれは、識別機能を提供するために、要求Map項目。

Java8でそれを行うにはどのように任意のアイデア?ありがとうございました!

彼らは次のとおりでした:

あなたは使用することができflatMap、単一の中にすべてのマップのすべてのエントリを抽出しますStreamその後、値の平均値をキーでグループにそれらをして計算することができます。

Map<String,Double> average =
    list.stream()
        .flatMap(m->m.entrySet().stream())
        .collect(Collectors.groupingBy(Map.Entry::getKey,
                                       Collectors.averagingDouble(Map.Entry::getValue)));

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=187825&siteId=1