ルカ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)));