マップのエントリを処理し、結果のストリームを別のマップに収集する方法を理解しています。しかし、以前のマップのキーが渡されたコンストラクタを使用して値を設定する必要があり、その操作方法を理解できません。Java 8ストリーム:マップとコンストラクタへのマップの収集
私はMap<Event, EventSchedule> schedules
を持っている、と私はそれからMap<Event, InverseSchedule>
を取得したい:
シナリオは次のようです。 InverseSchedule
はEvent
で構成され、正確にはそれぞれのキーはschedules
です。
これは私がこれまで試したものです、と私はちょうど一枚離れて最終的に私は後だ何を達成することから午前:私はので、私は動作しませんもちろんのが、InverseSchedule::new
を試してみました
Map<Event, InverseSchedule> inverseSchedules = schedules.get()
.keySet()
.stream()
.collect(Collectors.toMap(Function.identity(), ???));
引数を渡さず、ラムダを使ってもできませんでした。
私はこれらの新しいJava 8機能を理解するのに苦労しています。私は本当に答えがの理由が含まれている場合は、それがちょうど欠けている部分を提供するよりもを含む場合は感謝します。
'InverseSchedule :: new'、' InverseSchedule'のコンストラクタが 'Event'を取っているとしますか? – Tunaki
'InverseSchedule :: new'がなぜ機能しないのですか?ストリームはそれに引数を渡します、それはイベントになります。上記のコンストラクタを表示することができれば最適です。 –
答えが必要な場合は、標準Javaライブラリのクラスではないので、クラスに関する情報を追加する必要があります。そのため、提供するコンストラクタやメソッドがわかりません。 'Event'から' InverseSchedule'をどうやって作るのですか?値( 'EventSchedule')からの情報は必要ありませんか?あなたの質問を編集して展開してください。 – RealSkeptic