5
私はマップの値の異なる要素の数を抽出して数えようとしています。それは地図だけではなく、地図のリストからそれらの多くを取得することです。Javaストリーム。複数のマップの別個の値を抽出する
具体的には、私は、List<Event> event
メンバーのTournament
クラスを持っています。 event
にはMap<Localization, Set<Timeslot>> unavailableLocalizations
のメンバーがあります。私はこれらすべてのタイムスロット値のために別個のものを数えたいと思います。
は、これまでのところ私はこのようなただ一つのマップでdistinctsをカウントするために管理:
event.getUnavailableLocalizations().values().stream().distinct().count()
しかし、私が把握することはできませんと、すべてのマップのためだけではなくいずれかのことを行う方法です。
私は、各イベントの地図の値を取ってストリームに入れておく必要があると思っています。残りは私のようになります。
私はメソッド参照の涼しさが '.MAP(イベント:: getUnavailableLocalizations)の.map(マップ::値を使用して正当化するのに十分な高さであるかどうかわからないんだけど).flatMap(event - > event.getUnavailableLocalizations()。values()。stream()) 'の代わりに、.flatMap(Collection :: stream)'を呼び出します。後者は、最終的な解決策へのOPのアプローチから欠落しているステップを容易に認識することができます。 – Holger